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 :

Problème de combox [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut Problème de combox
    Bonjour,
    Je sais pas ce qui se passe mais j'ai du mal à afficher des données issues de ma base mysql dans un menu déroulant.
    Le problème c'est qu'il ne récupère que la dernière données en base.
    Un extrait de mon 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
    echo '<h1> Suppression d\'un client</h1><br/>';
     
    $nomDesClients = $bdd ->query("SELECT NOM_CLIENT FROM CLIENT");
     
    if (!$nomDesClients -> fetch()){
    echo '<br> Il n\'y a pas de clients en base !<br/>';
    }
    else {
    echo "Choisir le client : <select name='client'><option value=''></option>";
     
    while($result = $nomDesClients ->fetch()){
     
    	echo "<option value='".$result['NOM_CLIENT']."'>".$result['NOM_CLIENT']."</option>";
     
    	} // fin du while
    echo'</select>
    <input type="submit" value="Supprimer" />';
     
    } // fin du else
     
    $nomDesClients ->closeCursor();
    Au fait en passant es-il nécessaire de fermer une connexion avec les PDO dans mon cas?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton premier fetch() compte pour une recuperation de ligne.
    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
    echo '<h1> Suppression d\'un client</h1><br/>';
     
    $nomDesClients = $bdd ->query("SELECT NOM_CLIENT FROM CLIENT");
    $tblClients = $nomDesClients -> fetchAll();
     
    if (count($tblClient)) == 0) {
         echo '<br> Il n\'y a pas de clients en base !<br/>';
    }
    else {
    echo "Choisir le client : <select name='client'><option value=''></option>";
     
    foreach($tblClient as $row) {
    	echo "<option value='".$row['NOM_CLIENT']."'>".$row['NOM_CLIENT']."</option>";
     
    	} 
    echo'</select>
    <input type="submit" value="Supprimer" />';
     
    } // fin du else
     
    $nomDesClients ->closeCursor();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    Ton premier fetch() compte pour une recuperation de ligne.
    Mais pourtant celui-ci affiche toutes les données Sabotage (lorsqu'elles existent):
    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
    echo '<h1> Suppression d\'un client</h1><br/>';
     
    $nomDesClients = $bdd ->query("SELECT NOM_CLIENT FROM CLIENT");
     
    echo "Choisir le client : <select name='client'><option value=''></option>";
     
    while($result = $nomDesClients ->fetch()){
     
    	echo "<option value='".$result['NOM_CLIENT']."'>".$result['NOM_CLIENT']."</option>";
     
    	} // fin du while
    echo'</select>
    <input type="submit" value="Supprimer" />';
     
    $nomDesClients ->closeCursor();
    Comment ça se fait? Ici j'ai juste enlevé le test si le resultat est vide ou pas

    Au fait en passant es-il nécessaire de fermer une connexion avec les PDO dans mon cas?


    Merci pour ton code

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

Discussions similaires

  1. problème pour remplir une liste a partir d'un combox
    Par khadi8 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 23/03/2012, 09h31
  2. problème multi combox pour filtrage
    Par fabrice44 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/05/2008, 08h00
  3. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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