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 :

Liste déroulante vide par requête sql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 20
    Par défaut Liste déroulante vide par requête sql
    Bonjour à tous,

    Je vous explique, j'essaie de faire une liste déroulante qui renvoie toutes les données d'un champ d'une table.
    Résultat : La liste s'affiche bien, mais celle-ci est complètement vide.
    Il semblerait que ma liste reconnait les 200 informations de ma requête car la liste est certes vide, mais fait 200 lignes vides. C'est cela que je trouve étrange... Il détecte la quantité d'informations mais il n'affiche rien.

    Quelqu'un aurait une idée la dessus ? Ca fait un bon moment que je suis bloqué dessus

    Merci d'avance

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Chose of query</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
            <p>
                <?php
    mysql_connect("188.165.213.200:3306", "xxx", "xxx") or die("connexion error");
    mysql_select_db('mydb') or die("connexion error");			
     
    $query = 'SELECT LastName FROM tblemployee';
    $result = mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error());
    			?>
    <form>
    <select name = "selection" size="5" style="width:500px"> 
    <?php 
    while($row = mysql_fetch_row($result)){ 
    $Num_Service = $row[0]; 
    $Nom_Service = $row[1]; 
    echo '<option value=\"'.$Num_Service.'\">'.$Nom_Service; 
    echo '</option>'."\n"; 
    } 
    ?> 
    </select> 
    <INPUT TYPE="Button" name="Submit" value="OK" onclick="Envoyer2();"></p> 
    </form>
     
        </body>
    </html>

  2. #2
    Membre éprouvé
    Inscrit en
    Décembre 2009
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 80
    Par défaut
    Bonjour,

    A la lecture de ton script, il y a un problème important. En fait, tu cherches à afficher deux informations, $row[0] et $row[1] qui sont en fait la première et la deuxième colonne de ta requête SQL. Or cette requête n'appelle qu'une seule colonne ! Ce qui explique pourquoi tu vois bien 200 choix vides, car le choix que tu affiches c'est à dire $row[1] n'est pas défini.

    Mon avis est de complèter la requête pour quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = 'SELECT Id, LastName FROM tblemployee';
    De la sorte tu devrais voir afficher le "LastName" comme nom de choix, et la valeur associée en retour de formulaire sera l'Id.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 20
    Par défaut
    Tout d'abord, merci pour ta réponse.

    Effectivement le fait que ma requête ne corresponde pas à ce que j'essaie d'afficher, ça je ne l'avais pas remarqué.
    Finalement, je n'ai pas touché à ma requête mais j'ai enlevé le $row[1] et ça fonctionne !!

    Ce qui donne ceci (je le mets parce que ça pourrait aider quelqu'un d'autre) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while($row = mysql_fetch_row($result)){ 
    $Num_Service = $row[0]; 
    echo '<option value=\">'.$Num_Service; 
    echo '</option>'."\n";
    Chercher des heures pour une erreur qui se résoud en 2min...
    En tout cas encore merci pour ton aide !!!

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

Discussions similaires

  1. Liste déroulante basée sur requête SQL
    Par Blinki47 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/04/2012, 04h40
  2. [MySQL] Liste déroulante alimenter par requetes sql
    Par degseb dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 05/04/2010, 17h34
  3. [SQL] Positionnement dans une liste déroulante aprés une requête SQL
    Par bastienh dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/01/2008, 11h56
  4. [SQL] Liste déroulante multiple et requête SQL
    Par laetiheu dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/08/2007, 14h32
  5. [MySQL] Problème de listes déroulantes liées avec requêtes sql
    Par richton95 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/12/2005, 16h04

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