Liste déroulante dependant d'une autre liste deroulante

Raynor911 Messages postés 2 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 4 février 2005 - 3 févr. 2005 à 14:19
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 - 5 févr. 2005 à 13:15
Voilà le problème:
J'ai crée deux listes déroulantes dans un formulaire. La deuxième liste doit dependre de la première liste. c'est à dire, que les informations de la deuxième liste doit dependre d'un élément choisi dans la première liste. Voici le code que j'ai tapé:

<?php
require("connect.php");
$sql = "SELECT libelleGrade FROM GRADE Order by libelleGrade";
$result = mysql_query($sql,$CONNEXION);
echo '<select name="grade" id="grade">';
echo "<option selected>---Choisir un item---</option>";
while ($tuple = mysql_fetch_array($result))
{
$grade = $tuple["libelleGrade"];
echo "<option value='.$grade.'>".$grade."</option>";
}
echo "</select>";
?>
</form></td>
<td>&nbsp;</td>
<td><form method="post">
<?php
require ("connect.php"); $sql1 "SELECT * FROM indice where grade '$grade' Order by echelon";
$result1 = mysql_query($sql1,$CONNEXION);
echo "<SELECT NAME = 'echelon'>";

if ($grade =="")
{
echo "<option>Choisissez un grade avant";
}
else
{
while ($tuple = mysql_fetch_array($result1))
{
$grade = $tuple["grade"];
$echelon = $tuple["echelon"];
echo "<option value='.$grade.'>".$echelon."</option>";
}
echo "</select>";
}



?>

la table INDICE est l'association des deux tables GRADE et ECHELON.
INDICE : (grade, echelon, indice)

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 févr. 2005 à 15:42
Hello,



d'abord, pour recuperer des valeurs d'un formulaire, utilise plutot la
forme $_POST['grade']. Ferme tes balises (<option> n'est a un
moment pas ferme). Indique au formulaire quelle page va le traiter.

Ensuite, tu as plusieurs problemes dans ce script.

- 1er formulaire : il n'est jamais soumis, donc tu ne recuperes pas la valeur de grade.

- 2eme formulaire : tu fais ta requete en fonction de $grade, or $grade est egal, dans ton script, a $grade = $tuple["libelleGrade"]; c'est a dire au dernier resultat obtenu par ta 1ere requete.



Il faut que tu traites le probleme differemmen, et plus
progressivement. Soit tu fais une requete avec un premier
formulaire...tu traites le formulaire, tu recuperes ta valeur grade,
PUIS (apres traitement, et seulement s'il y a eu traitement) tu crees
un 2d formulaire en utilisant la valeur recuperee dans le 1er pour ta
requete.

Soit tu utilises du javascript : le 1er formulaire aura un evenement
onchange, et ce onchange agira sur ta 2eme liste (un seul formulaire
suffit dans ce cas). Mais pour cette option la, va plutot voir sur le
forum javascript.
0
Raynor911 Messages postés 2 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 4 février 2005
4 févr. 2005 à 09:58
oui mais il y a pas plus simple que le javascript? Je suis qu'il y a plus simple! enfin ch'ais pas tu as une idée?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 févr. 2005 à 10:05
<form method="POST" action ="tapage.php">

<select name="selection1">

<option value="option1">option1</option>

<option value="option2">option2</option>

</select>



</form>



<?php

if (isset($_POST['submit1']) && $_POST['submit1']=="soumettre) {

if (isset($_POST['selection1'])) {

if ($_POST['selection1'] == "option1") {

echo 'code formulaire option 1 : <form method=...etc';

}

if ($_POST['selection1'] == "option2") {


echo 'code formulaire option 2 : <form method=...etc';


}

}

}

?>



la c'est moche hein mais c'est juste pour te montrer le principe que tu peux appliquer sans javascript.
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
5 févr. 2005 à 13:15
Salut,



http://www.phpcs.com/code.aspx?ID=25832

[mailto:cyberscorp2004@msn.com MSN] [mailto:frop01@yahoo.fr YAHOO]

http://www.codes-sources.com
0
Rejoignez-nous