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

 MySQL Discussion :

Liste de choix MySQL


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 138
    Par défaut Liste de choix MySQL
    hello,
    je débute dans le code php... j'ai cherché mais je ne trouve pas de réponse à ma question... pourtant assez simple je crois.
    En fait, j'ai une table mysql avec une série d'info par commune et j'aimerai afficher sur mon site les différentes fiches.
    L'utilisateur n'aurait qu'a choisir la commune dans une liste de choix et toutes les données de la commune seraient affichées...
    J'ai déjà réussi à faire une liste de choix
    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
     
      <?php
                             // requête sql
                             $sql = "SELECT * FROM Membre;";
     
                             // on sélectionne toutes les entrées de la table
                             $req=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
                             //On affiche ces entrées
                             while($data = mysql_fetch_assoc($req))
                             {                        print '<option value='.$data['iso'].'>'.$data['prenom'].'</option>';
                             }
     
                          mysql_close(); // on ferme la connexion
     
                         ?>
    Et je crois que j'ai aussi trouvé comment afficher des données d'une colonne spécifique avec les variables $row...
    Le seul truc qui me manque, c'est le liens entre les deux...
    Quand l'utilisateur choisit une commune, il faudrait qu'il réenvoie l'info (par un bouton submit?)au serveur pour que ce dernier sache les données de quelle commune il doive afficher...

    Quelqu'un pourrait-il me dire comment faire ? (et me montrer un petit exemple? )

    Merci d'avance

    Un débutant en php

    Greg

  2. #2
    Membre éclairé Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Par défaut
    Salut !

    Bon, tu as fait le plus gros du boulot ! Pour transmettre la valeur sélectionnée au serveur, comme tu l'as dit, il faut utiliser un formulaire. Donc quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="afficherDetails.php" method="post">
      <select name="commune">
         <option value="0">Commune 1</option>
         <option value="1">Commune 2</option>
         ....
      </select>
    </form>
    Ensuite, dans le script afficherDetails.php, tu peux récupérer très facilement la valeur sélectionnée à l'aide de la variable $_POST, qui contient toutes les données de ton formulaire qui ont été transmises.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    $communeSelectionnee = $_POST["commune"]; // contiendra 0, 1, 2, ... suivant les valeurs des champs <option>
     
    // requête sql pour récupérer les détails et affichage...
     
    ?>
    Voilà, j'espère avoit été clair !

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 138
    Par défaut
    Citation Envoyé par Wookai
    Salut !

    Bon, tu as fait le plus gros du boulot ! Pour transmettre la valeur sélectionnée au serveur, comme tu l'as dit, il faut utiliser un formulaire. Donc quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="afficherDetails.php" method="post">
      <select name="commune">
         <option value="0">Commune 1</option>
         <option value="1">Commune 2</option>
         ....
      </select>
    </form>
    Ensuite, dans le script afficherDetails.php, tu peux récupérer très facilement la valeur sélectionnée à l'aide de la variable $_POST, qui contient toutes les données de ton formulaire qui ont été transmises.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    $communeSelectionnee = $_POST["commune"]; // contiendra 0, 1, 2, ... suivant les valeurs des champs <option>
     
    // requête sql pour récupérer les détails et affichage...
     
    ?>
    Voilà, j'espère avoit été clair !

    Merci, ça m'a l'air clair... le seul problème c'est que j'ai 262 communes... j'ai pas trop envie d'écrire les 262 noms, surtout que je suis sur qu'il existe une fonction... mais je ne la connais pas...
    Merci

    Greg

  4. #4
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Il te suffit de construire ta liste sélect à partir des noms de commune que tu as dans ta BDD

    Comme ça si tu changes un truc dans ta base c'est mis à jour automatiquement sur la liste déroulante

    EDIT : tu le fais déjà dans ton 1er post shame on me
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  5. #5
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par guitou12
    Il te suffit de construire ta liste sélect à partir des noms de commune que tu as dans ta BDD

    Comme ça si tu changes un truc dans ta base c'est mis à jour automatiquement sur la liste déroulante
    En effet je comprends pas trop la remarque de tout saisir à la main vu que le script du premier post charge justement une liste déroulante dynamiquement.

    La solution de Wookai est la bonne si l'affichage des détails de la commune se fait sur une deuxième page. Si tu souhaites rester sur la même page (c'est ce que je comprends perso dans le premier post) il faut passer par du JavaScript avec l'évènement onChange.

    Bon courage.

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 138
    Par défaut
    Citation Envoyé par JWhite
    En effet je comprends pas trop la remarque de tout saisir à la main vu que le script du premier post charge justement une liste déroulante dynamiquement.

    La solution de Wookai est la bonne si l'affichage des détails de la commune se fait sur une deuxième page. Si tu souhaites rester sur la même page (c'est ce que je comprends perso dans le premier post) il faut passer par du JavaScript avec l'évènement onChange.

    Bon courage.
    Oui, j'aimerai rester sur la même page... il n'y a pas moyen avec un bouton submit?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Liste déroulante choix multiples + insertion MYSQL
    Par snorky94 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/07/2012, 10h10
  2. Réponses: 3
    Dernier message: 16/03/2011, 16h47
  3. Réponses: 8
    Dernier message: 05/05/2004, 16h28
  4. Réponses: 10
    Dernier message: 04/05/2004, 16h00
  5. liste de choix
    Par fredmessenger dans le forum ASP
    Réponses: 11
    Dernier message: 03/09/2003, 08h27

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