4 listes déroulantes avec MySQL
bonjour,
j'ai un formulaire avec plusieurs listes déroulantes, par rapoort au choix de la premiere , la deuxieme liste affiche uniquement les données qui correspondent, je sélectionne un choix dans la 2eme, la 3eme liste affiche ce qu"elle doit afficher ...etc.... j'ai en tout 4 listes déroulantes qui reliées sont à MySQL par php,
je voulais savoir si mon choix doit se porter sur Javascript ou y aurait il une autre méthode plus efficace ?
Si je garde la javascript, dois je créer d'autre fonctions ou je réutilise la meme ?
Dans ma page, j'ai actuellement 2 listes déroulantes qqui fonctionne parfaitement,
Merci pour vos conseils,
Voici le début de ma page:
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
| <html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language=javascript>
function modifcombo(){
document.location.replace("ajout.php?gam=" + document.form1.lib_gam.value );
document.form1.lib_gam.value = $gam;
}
</script>;
</head>
<body>
<?php
if (isset($_GET['gam'])){
$gam = $_GET['gam'];
} else {
$gam = NULL;
}
?>
<form name="form1" method="post" action="valide.php">
<table bgcolor="#ffe7c0" border="0">
<tbody>
<caption style="font-weight: bold;" valign="top" align="center"><big>Ajout d'un produit<br>
<br>
</big></caption>
<tr>
<td style="text-align: left; font-weight: bold;"><font color="#ff6000"> Gamme :</font></td>
<td><select name="lib_gam" class="txt16-000000" onChange="javascript : modifcombo()">
<option value=""></option>
<?php
$dbhost="localhost";
$dblogin="xxxxxxx";
$dbpassword="xxxxxxxx";
$dbname="xxxxxxx";
mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_select_db($dbname);
$ma_req = "SELECT * FROM gamme;";
$res_req = mysql_query($ma_req)
or die("Selection table \"gamme\" impossible");
if (mysql_num_rows($res_req)!=0) { // résultat non vide
while ($une_ligne = mysql_fetch_array($res_req)) {
$id_gam = $une_ligne["id_gam"];
$lib_gam = $une_ligne["lib_gam"];
print "<option value=" . $id_gam;
if ($id_gam == $gam) {
print " selected";
}
print ">" . $lib_gam ."</option>";
}
}
?>
</select>
</td>
</tr>
<tr>
<td style="text-align: left; font-weight: bold;"><font color="#ff6000">Famille : </font></td>
<td><select name="lib_niveau1" class="txt16-000000">
<option value=""></option>
<?php
// Connexion à la base
$dbhost="localhost";
$dblogin="xxxxxx";
$dbpassword="xxxxxxx";
$dbname="xxxxxxxxx";
mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_select_db($dbname);
$ma_req = "SELECT * FROM niveau1 WHERE id_gam = '$gam';";
$res_req = mysql_query($ma_req)
or die("Selection table \"niveau1\" impossible");
if (mysql_num_rows($res_req)!=0) { // résultat non vide
while ($une_ligne = mysql_fetch_array($res_req)) {
$id_gam = $une_ligne["id_gam"];
$lib_niveau1 = $une_ligne["lib_niveau1"];
print "<option value=" . id_gam . ">" . $lib_niveau1 . "</option>";
}
}
?>
............. suite du formulaire |