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 : Sélectionner tout - Visualiser dans une fenêtre à part
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