Page 1 sur 1
Liste déroulante liée
Posté : 13 avr. 2012, 15:08
par Pombela
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
Re: Liste déroulante liée
Posté : 14 avr. 2012, 22:36
par Ryle
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 ?

Re: Liste déroulante liée
Posté : 15 avr. 2012, 22:44
par Pombela
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...
Re: Liste déroulante liée
Posté : 17 avr. 2012, 23:48
par Pombela
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/>
   
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>
   
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>
   
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>
   
<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.
Re: Liste déroulante liée
Posté : 18 avr. 2012, 06:54
par moogli
Re: Liste déroulante liée
Posté : 18 avr. 2012, 12:03
par Pombela
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