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 en PDO à partir d'une 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 éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut Liste déroulante en PDO à partir d'une BDD
    Bonjour,

    Je suis en train de transformer mes scripts en mysql et viens juste de passer en PDO.
    J'arrive à faire la connexion avec une base mais rencontre une petite difficulté pour remplir une liste déroulante à partir d'une BDD.
    Le but est qu'elle affiche les différentes valeurs du champ "genre" lorsque le champ "famille" est égal à la variable $_SESSION['ChoixFamille']

    Je passe sur la connexion qui est Ok:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    				$SQL = $pdo->query("SELECT DISTINCT genre FROM plant WHERE family LIKE '".$_SESSION['ChoixFamille']."' ORDER by genre ASC");
    				$SQL->setFetchmode(PDO::FETCH_OBJ);
     
    				while ($row = $resultat->fetch() )
    					{
    					echo "<option value=\"".$row["genre"]."\">".$row["genre"]."</option>\n";
    					}
     
    				echo ("</select>");
    				echo "<input type = 'submit' value = 'Valider'>";
    				echo ("</form>");
    Le formulaire s'affiche mais il est vide.
    Merci de bien vouloir me mettre sur la piste.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2014
    Messages : 219
    Par défaut
    Bonjour,

    Que donnes le code html généré ? As-tu essayé d'afficher ta variable de session ?
    Peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LIKE '%".$_SESSION['ChoixFamille']."%'
    Cordialement.

  3. #3
    Membre éclairé Avatar de Cat81
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 56
    Par défaut
    Bonjour ^^.

    Tu as regardé si ta requête te renvoi quelque chose?
    Pour cela tu peux juste faire un COUNT tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'COUNT : '.count($row).'\n';
    Au plaisir ^^

  4. #4
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut
    Bonjour Cat81. Merci de ton intervention.

    Citation Envoyé par Cat81 Voir le message
    Bonjour ^^.

    Tu as regardé si ta requête te renvoi quelque chose?
    Pour cela tu peux juste faire un COUNT tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'COUNT : '.count($row).'\n';
    Au plaisir ^^
    Non, cela n'affiche rien et ça me semble "normal" car je pense que des lignes apparaitraient en dessous.
    Et si cette variable est vide, c'est qu'il y a un problème avant, problème que je ne vois pas.

  5. #5
    Membre éclairé Avatar de Cat81
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 56
    Par défaut
    Non, cela n'affiche rien et ça me semble "normal" car je pense que des lignes apparaitraient en dessous.
    Et si cette variable est vide, c'est qu'il y a un problème avant, problème que je ne vois pas.
    Normalement ça devrait au moins afficher 0 même si le SELECT renvoi une valeur NULL.

    Par rapport à ta variable de session, as tu vérifié que celle-ci soit sans espaces au début et à la fin?
    Quand tu l'affiches en l'entourant de caractère, cela donne quoi?
    Genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '___'.$_SESSION['ChoixFamille'].'_____';

  6. #6
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut
    Re-merci Cat81,

    Citation Envoyé par Cat81 Voir le message
    Normalement ça devrait au moins afficher 0 même si le SELECT renvoi une valeur NULL.
    Où comptes-tu le mettre pour qu'il affiche $row ?


    Citation Envoyé par Cat81 Voir le message
    Par rapport à ta variable de session, as tu vérifié que celle-ci soit sans espaces au début et à la fin?
    Quand tu l'affiches en l'entourant de caractère, cela donne quoi?
    Genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '___'.$_SESSION['ChoixFamille'].'_____';
    Je viens de vérifier ... pas d'espace avant ni après.

  7. #7
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut
    Bonjour arthur57 et merci pour ton intervention.

    Citation Envoyé par arthur57 Voir le message
    Que donnes le code html généré ?
    <form action='fin.php' method='post'>
    <select name = 'ChoixGenre'>
    <option value="Aucun genre sélectionné">Sélectionnez le genre</option>
    Et ... c'est tout, cela s'arrête là



    Citation Envoyé par arthur57 Voir le message
    As-tu essayé d'afficher ta variable de session ?
    Oui, oui.... j'ai passé la dessus mais cette variable de session s'affiche correctement.

    Citation Envoyé par arthur57 Voir le message
    Peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LIKE '%".$_SESSION['ChoixFamille']."%'
    Cela donne le même résultat

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2014
    Messages : 219
    Par défaut
    Je viens de remarquer :

    Citation Envoyé par Denis Placé Voir le message
    <form action='fin.php' method='post'>
    <select name = 'ChoixGenre'>
    <option value="Aucun genre sélectionné">Sélectionnez le genre</option>
    Et ... c'est tout, cela s'arrête là
    Quand tu dis tout s'arrête là, c'est qu'il n'y a aucune suite ?
    Sinon va falloir y aller étape par étape, essaie ta requête SQL sans le where dans ton sgbd, avec le where, affiche la valeur de ton $_SESSION, de ta requête en entier (que tu pourra copier/coller dans ton sgbd).
    Tu verra déjà si ta requête fonctionne.
    Sinon tu as les erreurs php qui sont activées ?

    Cordialement.

  9. #9
    Membre éclairé Avatar de Cat81
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 56
    Par défaut
    Citation Envoyé par arthur57 Voir le message
    Je viens de remarquer :



    Quand tu dis tout s'arrête là, c'est qu'il n'y a aucune suite ?
    Sinon va falloir y aller étape par étape, essaie ta requête SQL sans le where dans ton sgbd, avec le where, affiche la valeur de ton $_SESSION, de ta requête en entier (que tu pourra copier/coller dans ton sgbd).
    Tu verra déjà si ta requête fonctionne.
    Sinon tu as les erreurs php qui sont activées ?

    Cordialement.
    Question bête : t'as mis la connexion à la BD plus haut? Parce que comme souligne Arthur57, si ça s’arrête là c'est que dans les lignes de code php y'a une m**** ^^

  10. #10
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut
    Citation Envoyé par Cat81 Voir le message
    Question bête : t'as mis la connexion à la BD plus haut? Parce que comme souligne Arthur57, si ça s’arrête là c'est que dans les lignes de code php y'a une m**** ^^
    Oui bien sûr , la connexion à la BDD est bien là.
    ceci étant, je reste persuadé qu'il y a une erreur bête de ce type là mais ... que je ne vois pas

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

Discussions similaires

  1. [MySQL] Liste déroulante à partir d'une BDD avec Mysqli en procédural
    Par Denis Placé dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 14/08/2017, 13h04
  2. [2.x] [Silex] Liste déroulante dans form à partir d'une classe
    Par clem_alain dans le forum Symfony
    Réponses: 4
    Dernier message: 13/01/2016, 15h14
  3. [AC-2010] Alimenter une liste déroulante de formulaire à partir d'une 2ème base
    Par metalleuse dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/06/2015, 10h10
  4. Réponses: 4
    Dernier message: 04/09/2007, 18h54
  5. Réponses: 1
    Dernier message: 26/08/2007, 22h21

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