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 :

liste déroulante dans un formulaire


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 27
    Points : 21
    Points
    21
    Par défaut liste déroulante dans un formulaire
    J’ai un formulaire PersonnelType imbriqué dans un formulaire SalaireType pour pouvoir définir le salaire d’un personnel existant dans la base de données.

    J’utilise la personnalisation de formulaire dans mon template twig avec le code 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
    52
    53
    54
    55
    56
    57
    <form method="post" {{ form_enctype(form) }}>
     
          {{ form_errors(form) }}
     
             <div>
     
                  {{ form_label(form.enseignant.nom, "Choisir le personnel bénéficiaire") }}
     
                  {{ form_errors(form.enseignant.nom) }}
     
                  {{ form_widget(form.enseignant.nom) }}
     
             </div>
     
             <div>
     
                   {{ form_label(form.montantBrut, "Salaire Brut") }}
     
                   {{ form_errors(form.montantBrut) }}
     
                   {{ form_widget(form.montantBrut) }}
     
             </div>
     
             <div>
     
                  {{ form_label(form.taxes, "Taxes") }}
     
                  {{ form_errors(form.taxes) }}
     
                  {{ form_widget(form.taxes) }}
     
            </div>
     
            <div>
     
                  {{ form_label(form.date, "Date d'édition du salaire") }}
     
                  {{ form_errors(form.date) }}
     
                  {{ form_widget(form.date) }}
     
           </div>
     
           <div>
     
                  {{ form_label(form.retenue, "Retunue sur salaire") }}
     
                 {{ form_errors(form.retenue) }}
     
                 {{ form_widget(form.retenue) }}
     
          </div>
     
          <input type="submit" class="btn btn-primary" />
     
    </form>
    Le champ form_widget(form.enseignant.nom) s’affiche en text input, normal. J’aimerai pouvoir plutot afficher une liste déroulante des noms de tous les personnels récupérés dans la base de donnée et le passer à la liste, et que biensûr lors de la validation du formulaire, que ce soit un objet Personnel qui soit reférencé dans l’objet Salaire.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    J’aimerai pouvoir plutot afficher une liste déroulante des noms de tous les personnels récupérés dans la base de donnée et le passer à la liste, et que biensûr lors de la validation du formulaire, que ce soit un objet Personnel qui soit reférencé dans l’objet Salaire.
    c'est justement ce que fait le type "entity", cela se passe au niveau de ton FormType, pas au niveau de twig
    http://symfony.com/fr/doc/current/re...es/entity.html

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Salut,

    Comme ça vite fait, ça pourrait donner un truc comme ça dans ta classe PersonnelType (à adapter bien-sûr) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public function buildForm(FormBuilderInterface $builder, array $options)
      {
            $builder ->add...
                        ->add...               
                        ->add...
                         ->add('Enseignants', 'entity', array(
                                    'class'    => 'NomDuBundle:Personnel',
                                    'property' => 'nom',
                                    'multiple' => true))
              ;    
      }

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/04/2016, 12h36
  2. [MySQL] Renseigner une liste déroulante dans un formulaire en faisant une jointure.
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 16/10/2006, 10h12
  3. Réponses: 5
    Dernier message: 27/08/2006, 14h18
  4. recherche par liste déroulante dans un formulaire
    Par toto10 dans le forum Access
    Réponses: 13
    Dernier message: 07/07/2006, 16h49
  5. Pb de liste déroulante dans un formulaire
    Par darkian dans le forum Access
    Réponses: 2
    Dernier message: 27/12/2005, 13h22

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