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 :

Remplir une liste à partir d'une table MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut Remplir une liste à partir d'une table MySQL
    Bonjour,

    Je pense que le titre du sujet veut tout dire, et je n'ai posté ce message qu'après avoir longuement cogiter sur le code:

    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
    <tr><td>Num de la salle:</td><td class='corpstexte'></td>
                <td><select name='select'  size='1' >
     
            <?php
                // Connexion MySQL
                $db = mysql_connect('localhost', 'root', '')   ; 
     
                // Sélection de la base
                mysql_select_db('test',$db)  ;
     
                // on crée la requête SQL
                $sql = 'SELECT 'NUM_SALLE' FROM 'salle'' or die("Impossible de se connecter");
     
                // on envoie la requête
                $req = mysql_query($sql);
     
                // on fait une boucle qui va faire un tour pour chaque enregistrement
                while($data = mysql_fetch_assoc($req))
     
                // on affiche les informations de l'enregistrement en cours
                {
                echo "<option>" .$data['NUM_SALLE']. "<option>"; 
                }
     
                // on ferme la connexion à mysql
                mysql_close(); 
             ?>        
     
                    </select></td><td></td></tr>
    le problème c'est que la liste ne m'affiche pas les numéros des salles (demandés au niveau de la requete) et ne me donne pa de message d'erreur! Bizzare

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2008
    Messages : 117
    Par défaut
    enlève la balise html select/option temporairement fait un var_dump($data) et regarde ce que ca te donne.

    Et puis tu ne donne pas d'attribut value à ta balise option ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut
    Mais comment ça va me donner une liste de selection si j'enlève le select/option?

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2008
    Messages : 117
    Par défaut
    En bref je te disais de vérifier le résultat de ta requête SQL :

    tu fait un var_dump ($req) après mysql_query pour voir le résultat.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut
    toujours rien! et aucun message d'erreur! juste une liste vide

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Par défaut
    Salut essaies en fermant bien ta balise <option>

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut
    C'est fermé!
    mais j'ai remarqué qu'il n'ya pas de fichier du nom de ma base dans le www de easy php! est ce du à ça? si nn comment faire pour y remédier?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Par défaut
    Le fichier www d'easyphp sert à récupérer les pages, photos et autres choses que tu veux mettre sur ton site.
    La base de données se trouve dans un autre dossier et c'est donc normal qu'elle n'apparaissent pas dans ton www.
    Tu dis que ta balise <option> est bien fermée mais sur ton code posté dans le 1er post elle n'y est pas.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut
    elle est au niveau de la balise php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     // on crée la requête SQL
                $sql = 'SELECT NUM_SALLE FROM salle' or die("Impossible de se connecter");
     
                // on envoie la requête
                $req = mysql_query($sql);
    			var_dump ($req);
     
                // on fait une boucle qui va faire un tour pour chaque enregistrement
                while($data = mysql_fetch_assoc($req))
     
                // on affiche les informations de l'enregistrement en cours
                {
                echo "<option>" .$data['NUM_SALLE']. "<option>"; 
                }
    Dans la boucle while; où dois je la mettre donc?
    Sorry mais je suis encore débutante en php

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Par défaut
    essaies plutot :

    echo'<option>' .$data['NUM_SALLE']. '</option>';

    Ta balise <option> n'était pas fermée. Ne pas fermer une balise provoque de petites surprises

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut
    Merci Zenerox!

    Mais ça ne marche toujours pas

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Par défaut
    Rajoute le "end while" à la fin de ta boucle

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut
    le End while n'a rien changé. Je pense que l'accolade fermante de la boucle while joue ce role

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Par défaut
    essaies mysql_fetch_row plutot que mysql_fetch_assoc et
    $sql = "select NUM_SALLE from salle" au lieu de $sql = 'SELECT 'NUM_SALLE' FROM 'salle''

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut
    toujours rien

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Par défaut
    petit truc tout bete : colle le { à ton ) au niveau de ton while

  17. #17
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Question idiote : est-tu sûr d'avoir des résultats à afficher ?
    Une petite verification via mysql_num_rows
    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
    <td><select name='select'  size='1' >
     
            <?php
                // Connexion MySQL
                $db = mysql_connect('localhost', 'root', '')   ; 
     
                // Sélection de la base
                mysql_select_db('test',$db)  ;
     
                // on crée la requête SQL
                $sql = 'SELECT NUM_SALLE FROM salle';
     
                // on envoie la requête
                $req = mysql_query($sql) or die ('erreur sur '.$sql.'<br/>'.mysql_error());
     
               if( mysql_num_rows($req) > 0)
               {
                  // on fait une boucle qui va faire un tour pour chaque enregistrement
                  while($data = mysql_fetch_assoc($req))
     
                  // on affiche les informations de l'enregistrement en cours
                  {
                    echo '<option value="'.$data['NUM_SALLE'].'">' .$data['NUM_SALLE']. '<option>'; 
                  }
                }
                else
                {
                    echo '<option value=""> ------------ </option>';
                }
                // on ferme la connexion à mysql
                mysql_close(); 
             ?>        
     
                    </select>
    Et au passage, n'oublie l'attribut value dans tes options.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut
    G essayer avec un simple code php ds une autre page ça a marché (afficha de texte)

    Mais sur le formulaire ça marche pa

  19. #19
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2008
    Messages : 117
    Par défaut
    Elle est toujours pas fermée la balise option ? (</OPTION>)

    Et comme je te l'ai déjà dit et Celira te le signale l'attribut value à renseigner.

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut
    Re!

    POurquoi il y a une répétition à ce niveau?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value="'.$data['NUM_SALLE'].'">' .$data['NUM_SALLE']. '<option>';
    uen répétition de $data.['NUM_SALLE]: elle se réaffiche dans la liste déroulante

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Selection à partir d'une liste et renvoyant une liste
    Par Thebaloo dans le forum Requêtes
    Réponses: 10
    Dernier message: 20/12/2012, 10h47
  2. Réponses: 8
    Dernier message: 10/12/2009, 16h53
  3. [AJAX] liste liée a une liste liée a une liste
    Par dirty_harry dans le forum AJAX
    Réponses: 2
    Dernier message: 03/07/2009, 11h18
  4. Réponses: 2
    Dernier message: 01/05/2008, 13h36
  5. remplir une liste à partir d'une liste
    Par LeXo dans le forum Access
    Réponses: 7
    Dernier message: 14/04/2006, 12h29

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