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

PHP & Base de données Discussion :

menu deroulant affichant un champ de la bdd [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Par défaut menu deroulant affichant un champ de la bdd
    Bonjour,

    je suis un grand debutant en php.
    J´aimerai creer un menu deroulant proposant en fait toutes les entrees d´un champ specifique.
    J´arrive d´un cote a avoir mon menu deroulant, de l´autre afficher mon champ.
    Mais pas l´objectif final...
    je peux tout de meme donner ce que j´ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $reponse = mysql_query("SELECT * FROM jeux_video");
     
    while ($donnees = mysql_fetch_array($reponse) )
    {
     
    ?>
     
    <select name="choix">
        <option value=$donnees['nom']><?php echo $donnees['nom']; ?></option>
        <option value="choix2">Choix 2</option>
    </select>
    La j´obtiens un menu pour chaque entree ce qui est marrant mais pas tres pratique.
    Peut-etre ai-je mal aborde l´algorithme ?

    Merci beaucoup.
    Julien

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Par défaut
    Salut,

    C'est normal que tu obtiennes un menu pour chaque entrée puisque dans ta boucle tu a placer ta balise select. Il faut que tu mettes ta balise selet avant le while, dans le while tu ne met uniquement que ta balise <option>. Après le while tu peut refermer ta balise </select>.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Par défaut
    Merci seb pour ton aide,

    donc j´ai essaye de corriger ca mais pas top le resultat :

    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
     
     
    <?php
    mysql_connect("localhost", "root"); // Connexion à MySQL
    mysql_select_db("coursphp"); // Sélection de la base coursphp
     
    $reponse = mysql_query("SELECT * FROM jeux_video"); // Requête SQL
     
    <select name="choix">
    	while ($donnees = mysql_fetch_array($reponse) )
    	{
    	<option value=$donnees['nom']><?php echo $donnees['nom']; ?></option>
    	}
        <option value="choix2">Choix 2</option>
    </select>
    ?>
     
    <?php
     
    mysql_close(); // Déconnexion de MySQL
    ?>
    J´obtiens l´erreur :
    Parse error: syntax error, unexpected '<' in C:\wamp\www\test\TEST.php on line 7

    Grrrrrrrr

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Par défaut
    Ton code n'est pas tout à fait correct, reessaye comme sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $connection=mysql_connect("localhost", "root",""); // Connexion à MySQL
    mysql_select_db("coursphp",$connection); // Sélection de la base coursphp
     
    $reponse = mysql_query("SELECT * FROM jeux_video"); // Requête SQL
     
    echo '<select name="choix">';
    	while ($donnees = mysql_fetch_array($reponse) )
    	{
    	    echo '<option value="'.$donnees['nom'].'">'.$donnees['nom'].'</option>';
    	}
    echo '</select>';
    ?>

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Par défaut
    ben merci beaucoup seb, ca marche impeccable.

    Ceci dit si tu as 2 min et dans l´optique de devenir moins ignorant, tu pourrais m´expliquer rapidement la partie avec l´utilisation des echos.

    Merci en tout cas !

    Ju

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Par défaut
    Et bien je vais essayer, quand tu es dans du code php si tu veux afficher quelque chose il faut que tu utilises un echo, donc une fois que tu as crée ton select tu fais ta boucle et tu souhaite qu'a chaque boucle ajouter une ligne à ta liste donc tu fais un echo '<option>' ensuite tu souhaite mettre dans cette liste le contenu d'une variable php donc il faut refermer ton echo et mettre un . qui permet de faire la concatenation entre ton echo et ta variable cela donne :

    echo '<option>'.$donnee['nom'].'</option>;

    Concretement le navguateur le traduit comme sa :

    Je créer une ligne
    Cette ligne contient la variable $donnee['nom']
    Je ferme cette ligne.

    Je sais pas du tout si je suis clair mais bon c'est la première fois que j'essai de donner quelque explications sur du code. Hésite pas si c'est pas clair.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/04/2009, 17h17
  2. Afficher des champs vides d'une BDD
    Par xeak2008 dans le forum Bases de données
    Réponses: 4
    Dernier message: 16/10/2008, 13h01
  3. [PHP-JS] champs avec menu deroulant
    Par cerco1 dans le forum Langage
    Réponses: 2
    Dernier message: 17/10/2007, 16h57
  4. [MySQL] afficher un champ d'une table mysql sous form d'un menu combobox
    Par belakhdarbts10 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/05/2007, 11h29
  5. Réponses: 2
    Dernier message: 02/03/2007, 21h38

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