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 :

Problème avec une liste déroulante


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2012
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 21
    Points : 16
    Points
    16
    Par défaut Problème avec une liste déroulante
    Bonjour A vous Tous
    Voila j'ai un petit problème avec une liste déroulante et j'espère que quelqu'un pourrai m'aidai

    Problème 1 :


    Le champ ville est un champ dans les valeur sont prise de la base de donné et j'aimerai que au lieu de m'afficher un Champ vide il m'affiche par exemple " faite votre choix " .

    Problème 2 :



    le champ Pays encadrer en bleu et ville encadré en rouge appartienne a une mémé table. et je veux faire un truc de tel sort que quand je sélectionne par exemple France dans le champ pays il m'affiche que les ville de ce pays selectionné c a dire dans l'image il affiche que Paris et pas d'autre ville

    La requéte SQL que je ferai dans un autre langage serai
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    Select ville from Table1 where pays="France";

    J'espère que j'ai bien expliqué mon problème et merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut


    Problème 1 : http://symfony.com/doc/current/refer...ml#empty-value

    Problème 2 : tu vas bien sûr devoir passer par une action AJAX. Cette action appellera le repository de l'entité concernée (sûrement Ville ou quelque chose du genre). Les repositories Doctrine ont la particularité d'exposer des méthodes permettant de rechercher les objets ayant une certaine valeur dans une certaine propriété. Dans ton VilleRepository (nom supposé) tu as donc, sans le savoir, une méthode findByPays() à laquelle tu passes le nom du pays en paramètre et qui te retourne directement les objets Ville que tu souhaites. De là tu peux retourner à ta page un tableau JSON contenant en clé les identifiants des villes et en valeurs les noms des villes. Si tu veux une explication plus détaillée je peux te la fournir

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2012
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    pour le Probléme 1
    le truc est que j'ai pas des truc fixe car les champ sans prise de la base de donnée
    donc je sais pas quoi écrire exactement pour combiné le truc du champ vide et mes autre champ

    ->add('pays', 'choice', array(
    'empty_value' =>'Fait votre champ',
    ))

    si j'avais des truc fixe je vais maitre

    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $builder->add('gender', 'choice', array(
        'choices' => array(
            'm' => 'Male',
            'f' => 'Female'
        ),
        'required'    => false,
        'empty_value' => 'Choose your gender',
        'empty_data'  => null
    ));

    mais vue que par exemple Male et Female doive étre prise de la base je sais pas quoi maitre exactement :/

  4. #4
    Invité
    Invité(e)
    Par défaut
    ça ne change strictement rien : ton type de champ est probablement 'entity', mais ce type hérite du type 'choice' donc l'option "empty_value" est bien prise en compte.

    Essaye pour ton champ "Ville" : ajoute l'option "empty_value" avec la valeur "Choisissez votre ville", et ça roule

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2012
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par David Guillot Voir le message
    ça ne change strictement rien : ton type de champ est probablement 'entity', mais ce type hérite du type 'choice' donc l'option "empty_value" est bien prise en compte.

    Essaye pour ton champ "Ville" : ajoute l'option "empty_value" avec la valeur "Choisissez votre ville", et ça roule
    Je m'excuse pour le dérangement mais bon j'ai pas pu trouvé de solution donc je ré explique:

    Voila quand je fait ca dans ClientType :
    Code TWIG : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $builder
                ->add('pays')
    ca m'affiche ca:


    et quand je fait ca
    Code TWIG : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     $builder
                ->add('pays','choice', array(
        'empty_value' => 'Choisissez votre Pays',
    ))

    ca M'affiche ca ( choisissez votre pays mais il affiche pas les ville et c normal vue que dans l'array on a juste mit 'empty_value'




    ==> Donc la question est comment Adapté mon code pour afficher Choisisser votre Pays + les valeur que j'ai dans la base ( dans mon cas Tunisie France Italie )

    Et Merci D'avance

  6. #6
    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
    Comme expliqué plus haut, le type entity hérite de choice et donc de ses options possibles.
    Il ne s'agit pas d'utiliser un type choice, mais de passer les bonnes options au type entity.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //version abrégé
    $builder->add('pays',null, array(
        'empty_value' => 'Choisissez votre Pays',
    ))
    //version complète
    $builder->add('pays','entity', array(
        'empty_value' => 'Choisissez votre Pays',
        'class'=>'MyBundlePays'
    ))

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2012
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par arnooo999 Voir le message
    Comme expliqué plus haut, le type entity hérite de choice et donc de ses options possibles.
    Il ne s'agit pas d'utiliser un type choice, mais de passer les bonnes options au type entity.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //version abrégé
    $builder->add('pays',null, array(
        'empty_value' => 'Choisissez votre Pays',
    ))
    //version complète
    $builder->add('pays','entity', array(
        'empty_value' => 'Choisissez votre Pays',
        'class'=>'MyBundlePays'
    ))
    Merci arnooo999 C'est La réponse que je cherché

    Donc Problème 1 Réglé

    Pour Le 2 éme Problème Je vais voir avec la 1er solution sinon je repasserai ici pour mieux expliqué mon problème

Discussions similaires

  1. Réponses: 10
    Dernier message: 09/02/2011, 15h31
  2. Problème avec une liste déroulante
    Par flippaeti dans le forum C#
    Réponses: 1
    Dernier message: 05/06/2009, 19h46
  3. Problème avec une liste déroulante.
    Par kupae dans le forum IHM
    Réponses: 9
    Dernier message: 09/07/2008, 10h12
  4. problème avec une liste déroulante
    Par valouche dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 30/05/2007, 09h01
  5. [Débutant] problème avec une liste déroulante
    Par stan21 dans le forum Access
    Réponses: 3
    Dernier message: 12/07/2006, 14h52

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