IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Formulaire un peu particulier


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 32
    Par défaut Formulaire un peu particulier
    Bonjour, je dois réaliser un formulaire un peu particulier en comparaison de ce que propose symfony. J'ai le schema suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    Table1:
      columns:
        id:
          type: integer(8)
          primary: true
          autoincrement: true
        libelle:
          type: string(50)
     
    Table2:
      columns:
        id:
          type: integer(8)
          primary: true
          autoincrement: true
        libelle:
          type: string(50)
     
    Table3:
      columns:
        id:
          type: integer(8)
          primary: true
          autoincrement: true
        libelle:
          type: string(50)
     
    Table4:
      columns:
        table_1_id:
          type: integer(8)
          primary: true
        table_2_id:
          type: integer(8)
          primary: true
        table_3_id:
          type: integer(8)
          primary: true
        valeur:
          type: integer(4)
      relations:
        Table1:
          local: table_1_id
          foreign: id
        Table2:
          local: table_2_id
          foreign: id
        Table3:
          local: table_3_id
          foreign: id
    La Table1 contient 3 enregistrements et son contenu ne sera pas éditable.
    La Table2 contient 5 enregistrements et son contenu ne sera pas éditable.

    Dans le formulaire d'édition de la Table3, je dois pouvoir entrer des valeurs pour chaque combinaison entre les éléments de Table1 et Table2

    Pour être plus clair, voilà la présentation que je dois avoir:



    T1 VALEUR 1, T1 VALEUR 2 et T1 VALEUR 3 sont les enregistrements de Table1
    T2 Valeur 1, T2 Valeur 2, T2 Valeur 3, T2 Valeur 4 et T2 Valeur 5 sont les enregistrements de Table2


    Comment ce formulaire pourrait-il être réalisé ?
    Je pense aux embedForms / embedRelations, et j'ai également vu un widget sfWidgetFormSchemaForEach qui fait peut être ce genre de chose, mais je ne parviens pas à saisir de quelle façon arriver à ce résultat.

    Merci d'avance de votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 32
    Par défaut
    Bon, finalement je me suis débrouillé autrement en supprimant Table2, et dans Table4 j'ai remplacé les champs table_2_id et valeur, par 5 nouveaux champs qui était les valeurs de Table3 (c'est à dire T2Valeur1, T2Valeur2, T2Valeur3, T2Valeur4 et T2Valeur5).

    J'ai ensuite géré le formulaire avec une boucle foreach et un embedForm à l'intérieur de la boucle.

    C'est sans doute possible aussi avec le premier schéma que j'avai avec 4 tables et 2 boucles foreach au lieu d'une seule, mais mes premiers tests n'avaient pas fonctionné.

  3. #3
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    ??

    Je ne comprend pas réellement ce que tu comptes faire avec tes tables ni quel sont les relations qui les lie (MCD).

    Si tu opères ainsi, tu n'est plus conforme (a priori) aux formes normales.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 32
    Par défaut
    La relation que je cherchai à faire est :

    Pour chaque combinaison différente entre les éléments de Table1, Table2 et Table3, nous avons une valeur que nous allons stocker dans Table4.

    Le formulaire que j'affichais est un formulaire d'édition de Table3, et donc, s'il y a 3 enregistrements dans Table1 et 5 enregistrements dans Table2, il y aura 15 valeurs à renseigner.

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    En fait tu as une table avec 3 clefs externe et tu renseigner ta tabla quelque soit les trois clefs externes mélangées entre elles ?

    Et pourquoi tu n'utiliserais pas un méthode bête en méchante ?

    Une petite procédure qui imbrique le parcourt de tes trois tables et pour chaque ensemble de trois clef vérifie si la l'enregistrement résultat existe, si non, tu l'ajoutes. Après, il n'y a plus qu'une table à modifier avec, éventuellement trois liaisons pour afficher le libellé de tes trois tables, et on est dans la simplicité.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 32
    Par défaut
    Oui c'est à peu près ce que j'ai fait et j'ai finalement réussi à avoir le fonctionnement que je voulais.

    Merci pour le coup de main Mimi

Discussions similaires

  1. [1.x] [sf 1.4.x] Problème Formulaire un peu particulier
    Par itch76 dans le forum Symfony
    Réponses: 6
    Dernier message: 05/05/2010, 16h21
  2. Création d'un formulaire un peu particulier
    Par erehcab dans le forum Zend_Form
    Réponses: 0
    Dernier message: 27/04/2010, 15h26
  3. Réponses: 1
    Dernier message: 15/08/2006, 01h39
  4. #define un peu particulier
    Par greuh dans le forum C
    Réponses: 14
    Dernier message: 12/10/2005, 16h42
  5. Réponses: 2
    Dernier message: 05/01/2004, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo