Liste déroulante liée, chargée par SQL
Bonjour,
Voilà j'ai encore un petit problème dans un de mes codes :? , alors je viens quémander votre aide :D
Je suis entrain de faire une liste deroulante liée. Pour ce faire j'utilise l'evenement "onChange" sur ma première liste, qui me lance un fonction fait en JavaScript et PHP. Si quelqu'un arriverai à m'expliquer ce que j'ai fait de faut.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<script language="JavaScript">
function listderou()
{
var classe_array = new Arry();
<?
include("config.php");
include("connexion.php");
$i = 0;
$sql_c ="SELECT * FROM $tbl_classe ";
$req_c = mysql_query($sql_c) or die('Erreure Sql!! <br>'.$sql_c.'<br>'.mysql_error());
while($data_c = mysql_fetch_array($req_c))
{
?>
classe_array[<?echo $i;?>][0] = <?echo $data_c['IdClasse'];?>;
classe_array[<?echo $i;?>][1] = <?echo $data_c['IdRace'];?>;
classe_array[<?echo $i;?>][2] = <?echo $data_c['Classe'];?>;
<?
$i++;
}
?> |
Voilà jusque là, il n'y a pas de problème. Par contre il ne me fait pas la suite de la fonction, donc ma 2ème "liste déroulante" ne recois aucun champs :cry:.
Code:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
var indice = 1;
for(j=0; j<=classe_array.length; j++)
{
alert(classe_array.length);
if(classe_array[j][1] == document.form1.race.value)
{
var choix = new Option(classe_array[j][2]);
document.form1.classe.options[indice] = choix;
document.form1.classe.options[indice].value = classe_array[j][0];
indice++;
}
}
}
</script>
<form method="post" action="controle_inscription.php" name="form1">
<h1>
Inscrire un Avatar
</h1>
<br>
<label class="label_form">
Pseudo
</label>
<input type="text" name="login" size="20" maxlength="30" class="input">
<br>
<label class="label_form">
Race
</label>
<select name="race" onChange="listderou()"> <---- 1ère liste déroulante
<option value="0">-Choisir une race</option>
<?
include("config.php");
include("connexion.php");
$sql_r = "SELECT * FROM $tbl_race";
$req_r = mysql_query($sql_r) or die('Erreure Sql!! <br>'.$sql_r.'<br>'.mysql_error());
while($data_r = mysql_fetch_array($req_r))
{
$idrace = $data_r['IdRace'];
echo '<option value='.$idrace.'>'.$data_r['Race'].$idrace.'</option>';
}
?>
</select>
<br>
<label class="label_form">
Classe
</label>
<select name="classe"> <------ 2ème liste déroulante
<option value="">-Choisir une classe</option>
</select>
<br>
<label class="label_form">
Lvl
</label>
<input type="text" name="email" size="20" maxlength="30" class="input">
<br>
<input type="submit" value="Inscription" class="button_form">
</form> |