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 :

requete select dans une liste déroulante [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut requete select dans une liste déroulante
    bonjour,
    j'ai un problème avec code qui consiste a selectioner tous les champs dans ma table de ma bdd via une liste déroulante .
    le hic est que mon code marche (aucun message d'erreur) mais une fois sur mon navigateur ma liste déroulante ne maffiche rien
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <select name="boites">
                   <?php
    $requete='SELECT * FROM boites';
    $result=mysql_query($requete);
    while ($ligne=mysql_fetch_array($result))
    {
    echo '<option>', $ligne['index'],$ligne['text'],$ligne['libelle'], '</option>';
    }
    ?> 
    </SELECT>
    si quelqu'un connait une solution

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    mon code marche (aucun message d'erreur)
    Ce n'est pas pour cela que le script est bon Affiche la source de ta page HTML, au cas où.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    je viens d'afficher la source et j'ai bien un problème
    voici ma source:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <b>Warning</b>:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>C:\wamp\www\Boites_tab.php</b> on line <b>24</b><br />

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    Problème sur la requête. Je te laisse debuger.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    mon probleme se trouve sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($ligne=mysql_fetch_array($result))
    j'ai essayer de mettre object au lieu d'array changer mon code(enlever la liste déroulante et essayer un simple echo etc..) mais ne fonctione toujours pas du coup je suis revenu a mon code principal
    Je trouve pas

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est ta requête qui ne fonctionne pas.
    Affiche les erreurs avec

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    le message d'erreur me dit "aucune database selected" alors que je m'y connecte(connection a la base assuré)
    voici le code intégrale avec la connection:
    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
     <?php
                try
    {
    $bdd = new PDO('mysql:host=localhost;dbname=essieux(tca)', 'root', '');
     
    echo"connecté";
     
    }
    catch (Exception $e)
    {
    die("Erreur :  ". $e->getMessage());
    }
            ?>
               <select name="boites">
                   <?php
    $requete='SELECT * FROM boites'OR die('Erreur de la requête MySQL');  
     
     
    $result=mysql_query($requete);
    $bdd->exec($requete) or die (mysql_error());
    while ($ligne=mysql_fetch_array($result))
    {
     
    echo '<option>', $ligne['index'],$ligne['text'],$ligne['libelle'], '</option>';
    }
     
    ?> 
    </SELECT>

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    Tu te connectes avec PDO, il faut utiliser PDO jusqu'au bout et ne pas utiliser mysql_* & cie.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    ton dernier post m'a éclairer donc j'ai enlevé mon PDO et j'ai remplacé par mysql
    et maintenant cela fonctionne
    merci

    ps: Quesque j'aurai du modifier si je voulais utiliser complétement PDO ?
    (j'ai entendu dire que PDO serait de plus en plus courant donc j'ai voulu m'initier à cette nouvelle méthode mais visiblement je maitrise pas encore toutes ses fonctionnalités)

  10. #10
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par GhostofRazor Voir le message
    j'ai enlevé mon PDO et j'ai remplacé par mysql
    Euh..., m'est d'avis que t'as fait une boulette

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Euh..., m'est d'avis que t'as fait une boulette
    comme ?
    sinon j'ai encore une question ,
    Dans ma liste déroulante j'aimerais 2 champs que je selectionne dans ma bdd (text et libelle) mais j'arrive a ne mettre qu'un champs ici en l'occurence "text" mais "libelle" rien a faire il veut pas se mettre
    comment faire ?
    voici mon code (mis en commentaire ce que je voulais faire mais qui ne marche pas )
    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
       <select name="boites">
                   <?php
    $requete='SELECT text,libelle FROM boites'OR die('Erreur de la requête MySQL');  
     
     
    $result=mysql_query($requete);
    while ($ligne=  mysql_fetch_array($result))
    {
     
    echo '<option>',$ligne['text'],/*$ligne['libelle'],*/ '</option>';
    //ou echo '<option>',$ligne['libelle'], '</option>';
    }
     
    ?> 
    </SELECT>

  12. #12
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    J'aurais préféré lire :
    j'ai enlevé mon mysql et j'ai remplacé par PDO
    Une explication très récente ici

    Tu devrais essayer en échappant les données à l'affichage avec htmlspecialchars()
    Tu peux aussi t'assurer que les données sélectionnées correspondent exactement à ce que tu attends avec un print_r($ligne);.

    Tu montes tes options sans leur affecter une valeur spécifique ?
    Du genre :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <select name="boites">
        <option value="id_boite_1">nom boite 1</option>
        <option value="id_boite_2">nom boite 2</option>
    </select>

  13. #13
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    je suis allée et j'ai fais exactement comme la source sauf que maintenant la liste me retourne plus aucune valeur
    mon code modifié
    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
      <select name="boites" id="boites">
                   <?php
    $requete='SELECT *  FROM boites'OR die('Erreur de la requête MySQL');  
     
     
    $result=mysql_query($requete);
    while ($ligne=  mysql_fetch_array($result))
    {
        $text=$ligne->text;
        $libelle=$ligne->libelle;
        ?>
    <option value="<?php echo $text; ?>" name="<?php echo $libelle ;?>"> <?php echo $text; ?> <?php echo $libelle
    ?>  </option>
          <?php   
          } ?>
     
     
     
     
    </SELECT>

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <select name="boites">
        <option value="id_boite_1">nom boite 1</option>
        <option value="id_boite_2">nom boite 2</option>
    </select>
    merci rawsc ce que je voulais faire fonctionne
    et merci à tous ceux qui ont pris du temps pour m'aider

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

Discussions similaires

  1. [MySQL] Affichage de données selon une sélection dans une liste déroulante
    Par toutoune95800 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 31/07/2020, 18h53
  2. Réponses: 5
    Dernier message: 25/02/2013, 14h05
  3. [MySQL] Forcer selection dans une liste déroulante select
    Par snorky94 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/07/2012, 13h41
  4. [AC-2007] Pb lors de la selection dans une liste déroulante
    Par GregShakur dans le forum IHM
    Réponses: 2
    Dernier message: 08/01/2010, 22h27
  5. [Selected]Dans une liste déroulante
    Par ozzmax dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/11/2005, 19h18

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