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 deroulante et sql en php [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 50
    Par défaut Liste deroulante et sql en php
    Bonjour a tous.
    J'ai une base de données comprenant 2 tables: "courrier"(num_courrier,date_envoi,contenu) et "charges de dossiers"(num_chd,nom, prenom). Comme vous l'aurez remarqué numcharges fait cle etrangere dans la table "courrier" et donc je voudrais faire une liste deroulante avec tous les enregistrements de la table "charges de dossiers" qui une fois selectionné , ajoute une valeur a la clé etrangere qui est dans "courrier". J'ai deja essayer de le faire mais ça ne marche ma liste deroulante est vide.Pour que ça vous parle plus je vous met le code pour la liste de roulante que j'ai fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <td class="label">charges:</td> 
    <td><select name="charges"> 
    <? 
    $req_chd=mysql_query("SELECT num_chd FROM charges_dossiers,courrier 
    WHERE courrier.num_chd=charges_dossiers.num_chd;"); 
     
    while ($chd=mysql_fetch_array($req_chd)) 
    { 
    echo'<option value='.$chd["num_chd"].'>'.$chd["nom_chd"].''.$chd["pre_chd"].'</option>'; 
    } 
    ?> 
    </select></td><br>
    Merci de m'indiquer où est le probleme ou ce que je dois faire pour que ça marche.

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 71
    Par défaut
    Bonjour,

    A aucun moment tu n'exécute ta requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <? 
    $req_chd=mysql_query("SELECT num_chd FROM charges_dossiers,courrier 
    WHERE courrier.num_chd=charges_dossiers.num_chd;"); 
     
    $req_chd = mysql_query($req_chd) or die(mysql_error());
     
    while ($chd=mysql_fetch_array($req_chd)) 
    { 
    echo'<option value='.$chd["num_chd"].'>'.$chd["nom_chd"].''.$chd["pre_chd"].'</option>'; 
    } 
    ?>

  3. #3
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT num_chd FROM charges_dossiers,courrier
    WHERE courrier.num_chd=charges_dossiers.num_chd;");
    Tu lui demande de te renvoyer une table ne contenant qu'une seule colone (num_chd)

    Essaie ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT num_chd, nom_chd, pre_chd FROM charges_dossiers,courrier
    WHERE courrier.num_chd=charges_dossiers.num_chd;");

    Et pense aux balises CODE quand tu joint du code, ca fait plus propre
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 50
    Par défaut
    ni l'un ni l'autre ne marche, je vous remet le code avec les modifications
    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
     
    <td class="label">charges:</td>
    <td><select name="num_chd">
    <?
    $req_chd=mysql_query("SELECT num_chd, nom_chd, pre_chd FROM charges_dossiers,courrier
    					  WHERE courrier.num_chd=charges_dossiers.num_chd;");
     
    $req_chd = mysql_query($req_chd);
    while ($chd=mysql_fetch_array($req_chd))
     
    {
    	echo'<option value='.$chd["num_chd"].'>'.$chd["nom_chd"].''.$chd["pre_chd"].'</option>';
    }
    ?>
    </select></td><br>

  5. #5
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $req_chd=mysql_query("SELECT num_chd, nom_chd, pre_chd FROM charges_dossiers,courrier
                     WHERE courrier.num_chd=charges_dossiers.num_chd;");
     
    $req_chd = mysql_query($req_chd);
    Ca ne va pas du tout ca, tu fait un mysql_query d'un autre mysql_query...
    supprime la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req_chd = mysql_query($req_chd);
    ca devrait clarifier les choses. Sinon, essaie de supprimer les espaces ici, on sait jamais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT num_chd,nom_chd,pre_chd FROM charges_dossiers,courrier
                     WHERE courrier.num_chd=charges_dossiers.num_chd;
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 50
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <td class="label">charges:</td>
    <td><select name="num_chd">
    <?
    $req_chd=mysql_query("SELECT num_chd,nom_chd,pre_chd FROM charges_dossiers,courrier
    					  WHERE courrier.num_chd=charges_dossiers.num_chd;");
     
    while ($chd=mysql_fetch_array($req_chd))
     
    {
    	echo'<option value='.$chd["num_chd"].'>'.$chd["nom_chd"].''.$chd["pre_chd"].'</option>';
    }
    ?>
    </select></td><br>
    ça ne change rien

  7. #7
    Membre expérimenté
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par défaut essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <td class="label">charges:</td>
    <td><select name="num_chd">
    <?
    $req_chd=mysql_query("SELECT num_chd, nom_chd, pre_chd FROM charges_dossiers,courrier
                     WHERE courrier.num_chd=charges_dossiers.num_chd ");
     
    while ($chd=mysql_fetch_array($req_chd))
     
    {
       echo'<option value='.$chd["num_chd"].'>'.$chd["nom_chd"].''.$chd["pre_chd"].'</option>';
    }
    ?>
    </select></td><br>

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 71
    Par défaut
    'suse pour tout a l'heure j'avais pas vu ton mysql_query

    Es tu sur que ta requete te retourne des résultats, l'a tu execute son ton sgbd?

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Comme le propose dinde, essaie d'exécuter cette requête dans phpMyAdmin par exemple.
    Sinon, tu peux aussi faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req_chd=mysql_query("SELECT num_chd, nom_chd, pre_chd FROM charges_dossiers,courrier
                     WHERE courrier.num_chd=charges_dossiers.num_chd "); 
    echo mysql_num_rows($req_chd);
    Cela t'affichera le nombre de résultats de ta requête.
    Ou bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req_chd=mysql_query("SELECT num_chd, nom_chd, pre_chd FROM charges_dossiers,courrier
                     WHERE courrier.num_chd=charges_dossiers.num_chd ")
      or die(mysql_error());
    Cela t'affichera l'éventuelle erreur de ta requête.

    [Edit] Les deux techniques peuvent être combinées, bien sûr.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 50
    Par défaut
    Dans phpmyadmin, il me met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1052 - Champ: 'num_chd' dans field list est ambigu
    est ce que ça veut dire que num_chd doit etre plus precis c'est a dire a quelle table il appartient

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    En effet. Si le même nom de champ apparaît dans deux tables (utilisées dans la même requête), alors il faut toujours utiliser la notation préfixée ou les alias.

  12. #12
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    il faut que tu fasse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $req_chd=mysql_query("SELECT charges_dossiers.num_chd, charges_dossiers.nom_chd, charges_dossiers.pre_chd FROM charges_dossiers,courrier
                     WHERE courrier.num_chd=charges_dossiers.num_chd ");

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 50
    Par défaut
    la requete marche sous phpmyadmin mais ça donne toujours rien en php

  14. #14
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    ok , la requete te renvoie tes enregistrements sous phpmy admin

    alors essaie cela, dans ton code remplace la ligne qui se trouve dans le while par celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       echo"<option value=".$chd['num_chd'].">".$chd['nom_chd']." ".$chd['pre_chd']."</option>";

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 50
    Par défaut
    C'est toujours pareil

  16. #16
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    pex tu remettre tout ton code modifie, s'il te plait?

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 50
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <td class="label">chargés:</td>
    <td><select name="num_chd">
    <?php
    $req_chd=mysql_query("SELECT charges_dossiers.num_chd FROM charges_dossiers, courrier
    					  WHERE courrier.num_chd = charges_dossiers.num_chd");
     
    while ($chd = mysql_fetch_array($req_chd))
     
    {
    	echo"<option value=".$chd['num_chd'].">".$chd['nom_chd']." ".$chd['pre_chd']."</option>";
    }
    ?>
    </select></td>

  18. #18
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    Si tu ad une liste déroulante qui apparait, mais pleine de vide, essaie ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    "SELECT charges_dossiers.num_chd,charges_dossiers.nom_chd,charges_dossiers.pre_chd FROM charges_dossiers, courrier
                     WHERE courrier.num_chd = charges_dossiers.num_chd"
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  19. #19
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 71
    Par défaut
    Heu dans ton select ta as bien selectionné ton num_chd mais pas ton nom_chd.

    Essaie de refaire ta requete avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT charges_dossiers.num_chd,  charges_dossiers.nom_chd FROM charges_dossiers, courrier 
                     WHERE courrier.num_chd = charges_dossiers.num_chd");
    Asutse tu peux mettre des prefixe sur tes tables sql par exemple


    SELECT ch.num_chd, c.nom_chd FROM charges_dossiers ch, courrier c
    WHERE c.num_chd = ch.num_chd");

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 50
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT charges_dossiers.num_chd, charges_dossiers.nom_chd, charges_dossiers.pre_chd
    					  FROM charges_dossiers, courrier
    					  WHERE courrier.num_chd = charges_dossiers.num_chd;
    J'zai fait cette requete sous phpmyadmin, ça marche mais en php, toujours pas.

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

Discussions similaires

  1. liste deroulante+requete sql
    Par ricokidd dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 23/04/2015, 08h51
  2. [PHP-JS] liste deroulante + infos sur pls lignes
    Par Tr@nkill dans le forum Langage
    Réponses: 4
    Dernier message: 30/03/2006, 16h29
  3. [Rico] Afficher depuis d'une liste deroulante (PHP+AJAX)
    Par maxis dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 27/02/2006, 12h47
  4. [SQL] liste deroulante et code php
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/01/2006, 10h00
  5. [PHP-JS] liste deroulante de video
    Par pierpo dans le forum Langage
    Réponses: 6
    Dernier message: 11/10/2005, 09h26

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