Liste déroulante liée

Eléphanteau du PHP | 25 Messages

13 avr. 2012, 15:08

Bonjour, je suis à la racherche pour mon site d'une possibilité de liée des listes déroulantes. Afin de gérer une section archives d'un club de gym, je souhaite passé par l'intermédiaire de listes déroulantes sur le schéma suivant :
-1ère liste ==> choix de la saison
-2nde liste ==> catégorie individuel ou équipe
-3ème liste ==> totalité des gymnastes ou un nom en particulier

J'ai bien suivi le tuto suivant faq-tutoriels/formulaires-listes-deroul ... t4562.html

Mon problème est pour l'intégration de la 3ème liste et comment créer des liens sur les résultats de la création de cette 3ème liste. J'ai tenté différentes choses mais en vain. Y a t-il quelqu'un qui puisse me venir en aide.

Merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 avr. 2012, 22:36

Si tu sais filtrer une liste B par rapport à une valeur sélectionnée dans une liste A, qu'est ce qui t'empêche une fois que tu as ta nouvelle liste B, de faire rigoureusement la même chose pour filtrer une liste C par rapport à une valeur sélectionnée dans ta liste B ? :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 25 Messages

15 avr. 2012, 22:44

Salut, savoir filtrer la liste est un bien grand mot, j'ai suivi un tuto de code pour créer les listes liées. J'ai fait mes propres modif de variables. Là ou cela me pose problème c'est que je ne parviens pas à trouver à quel endroit dans mon code je dois faire la modif. Je me dis qu'il me faut un second fichier java pour la création de la 3ème liste...

Eléphanteau du PHP | 25 Messages

17 avr. 2012, 23:48

N'ayant pas réussi à résoudre mon probleme via des listes liées, j'ai tenté différement : 3 listes qui récupérent chacune le contenu d'une base de données. Jusque ici tout se passe correctement. Je souhaite alors , que lorsque l'utilisateur clique sur le bouton OK, il s'affiche le résultat d'une requête faite sur une autre table en fonction des valeurs prises par les listes déroulantes. Lorsque je teste, seul la valeur prise par la liste est affichée. voici mes codes :

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link rel="shortcut icon" href="images/page.ico"/> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Archives</title> <link href="style1.css" rel="stylesheet" type="text/css"> </head> <body> <center> <div id="fond"> <?php include 'entete.php'; include 'gauche.php'; include 'droite.php'; ?> <?php mysql_connect('xxxxxxxxx','xxxxxxxx','xxxxxxx'); //connection à la base mysql_select_db('xxxxxxxxxxxxx'); //Sélection de la base de travail ?> <div style="width:550px;height:600px;margin-top:10px;margin-left:7px;float:left"> <div class="intitule" style="width:400px;height:25px;background:url(images/archives.png) left no-repeat; padding-left:50px"> LES ARCHIVES </div> <br/> <center> <img src="/images/travaux.png"> </center> <p> Vous trouverez bientôt ici les archives des saisons précédentes de la Stéphanoise Gymanstique masculine. </p> <!--Début formulaire choix type archive à consulter--> <form method="GET" action="vuearch.php"> <br/> &nbsp&nbsp&nbsp Saison : <select name="saison"> <?php //selction saison $sql="SELECT * FROM saisons ORDER BY id_saison DESC"; $result=mysql_query($sql); while ($bres=mysql_fetch_object($result)) { print("<option value='$bres->saison'>$bres->saison</option>\n"); } ?> </select> &nbsp&nbsp&nbsp Catégorie : <select name="categorie"> <?php //selction categorie $sql="SELECT * FROM tbl_categorie ORDER BY id_categorie ASC"; $result=mysql_query($sql); while ($bres=mysql_fetch_object($result)) { print("<option value='$bres->categorie'>$bres->categorie</option>\n"); } ?> </select> &nbsp&nbsp&nbsp Section : <select name="section"> <?php //selection section $sql="SELECT * FROM tbl_section ORDER BY id_section ASC"; $result=mysql_query($sql); while ($bres=mysql_fetch_object($result)) { print("<option value='$bres->section'>$bres->section</option>\n"); } ?> </select> &nbsp&nbsp&nbsp <input type="submit" name="affichage" value="OK"/> <br/><br/> </form> <!--fin formulaire choix type archive à consulter--> <br/><br/> <!--début div affichage resultat du formulaire--> <div style="width:550px;height:auto;margin-top:10px;margin-left:7px;float:left"> <table width="550" style="border:1px solid #666"> <caption> <h4>Archives saison XXXXXXXX pour la catégorie XXXXXXXX section XXXXXXXXXXX</h4><br/> </caption> <br/> <tr> <th scope="col" style="text-align:center">Nom</th> <th scope="col" style="text-align:center">Date</th> <th scope="col" style="text-align:center">Compet</th> <th scope="col" style="text-align:center">Lieu</th> <th scope="col" style="text-align:center">Ss Cat</th> <th scope="col" style="text-align:center">Class</th> <th scope="col" style="text-align:center">Sur</th> <th scope="col" style="text-align:center">Pts</th> <th scope="col" style="text-align:center">1er en équipe</th> </th> </tr> <tr> <th scope="col" style="text-align:center">-----</th> <th scope="col" style="text-align:center">-----</th> <th scope="col" style="text-align:center">-----</th> <th scope="col" style="text-align:center">-----</th> <th scope="col" style="text-align:center">-----</th> <th scope="col" style="text-align:center">-----</th> <th scope="col" style="text-align:center">-----</th> <th scope="col" style="text-align:center">-----</th> <th scope="col" style="text-align:center">-----</th> </th> </tr> <?php mysql_connect('xxxxxxxxx','xxxxxxxxxx','xxxxxxxxx'); //Connection à la base de donnée mysql_select_db('xxxxxxx'); //Sélection de la base de travail if(isset($_POST['affichage'])){ $res=mysql_query('SELECT * FROM tbl_archives WHERE saison="'.$saison.'" AND categorie="'.$categorie.'" AND section="'.$section.'" order by date DESC'); //Intérrogatiopn de la base : Sélection de tous les enregistrements echo mysql_error(); while($enreg=mysql_fetch_assoc($res)){ echo '<tr>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c">'.$enreg['nom'].'</td>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c">'.$enreg['date'].'</td>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c">'.$enreg['compet'].'</td>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c">'.$enreg['lieu'].'</td>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c">'.$enreg['scat'].'</td>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c">'.$enreg['class'].'</td>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c">'.$enreg['sur'].'</td>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c">'.$enreg['pts'].'</td>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c">'.$enreg['sur'].'</td>'; echo '<td style="text-align:center;background-color:#FFFF00;border-bottom:1px solid #2c7a6c"><b>'.$enreg['premier'].'</b></td>'; echo '</tr>'; } } mysql_close(); ?> </table><br/><br/> </div> <!--fin div affichage resultat du formulaire--> <?php //include 'vuearch.php'; ?> </div> <?php include 'bas.php'; ?> </center> </body> </html>
et celui de ma page "vuearch.php"

Code : Tout sélectionner

<? $saison = $_GET['saison']; $categorie = $_GET['categorie']; $section = $_GET['section']; ?>
merci de votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 avr. 2012, 06:54

Salut,

http://phpdebutant.org/article56.php ?
http://www.lephpfacile.com/cours/8-recu ... ormulaires

À priori tu sais faire une requête SQL qu'est ce te bloque ?

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 25 Messages

18 avr. 2012, 12:03

Salut, après avoir dormi et relu mon code, je me suis aperçu que dans ma table "categorie" je rangeais "adultes, pupilles...." et dans ma table section "equipe, individuel" alors que dans ma table archive je faisais l'inverse. Il est donc evident que comparer des valeurs différentes ne donne forcement pas de resultat.
Merci quand même