Bonjour a tous, voilà j'ai suivi les différents tuto du site, excellent d'ailleur pour commencer mais une question me tracasse et la solution qui va avec aussi...
Ma première page :
page 2 :
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 <html> <head> <script type='text/javascript'> function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; } function go() { var xhr = getXhr(); xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { leselect = xhr.responseText; document.getElementById('cat2').innerHTML = leselect; } } xhr.open("POST","categorie2.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); sel = document.getElementById('cat1'); cat1 = sel.options[sel.selectedIndex].value; xhr.send("cat1="+cat1); } function goesp() { var xhr = getXhr(); xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { leselect = xhr.responseText; document.getElementById('cat3').innerHTML = leselect; } } xhr.open("POST","categorie3.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); sel2 = document.getElementById('catr2'); catr2 = sel2.options[sel2.selectedIndex].value; xhr.send("catr2="+catr2); } </script> </head> <body> <form> <fieldset style="width: 500px"> <legend>Catégories</legend> <label>Cat 1</label> <select name='cat1' id='cat1' onchange='go()'> <option value='-1'>Aucun</option> <? mysql_connect("localhost","root",""); mysql_select_db("slayer"); $res = mysql_query("SELECT * FROM categorie ORDER BY categorie1"); while($row = mysql_fetch_assoc($res)) { echo "<option value='".$row["categorie1"]."'>".$row["categorie1"]."</option>"; } ?> </select> <label>Cat 2</label> <div id='cat2' style='display:inline'> <select name='cate2'> <option value='-1'>Choisir la cat1</option> </select> </div> <label>Cat 3</label> <div id='cat3' style='display:inline'> <select name='cat3'> <option value='-1'>Choisir la cat2</option> </select> </div> </fieldset> </form> </body> </html>
page 3 :
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 <?php echo "<select name='catr2' id='catr2' onchange='goesp()'>"; if(isset($_POST["cat1"])) { mysql_connect("localhost","root",""); mysql_select_db("slayer"); $val1=$_POST["cat1"]; $res = mysql_query(" SELECT * FROM categorie2 WHERE cat1='".$val1."' ORDER BY cat2"); while($row = mysql_fetch_assoc($res)) { echo "<option value='".$row["cat2"]."'>".$row["cat2"]."</option>"; } } echo "</select>"; ?>
Ma question comment faire pour que lorsque je change la liste 1, la liste 3 s'initalise aussi ?
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 <?php echo "<select name='cat3'>"; if(isset($_POST["catr2"])) { mysql_connect("localhost","root",""); mysql_select_db("slayer"); $val2=$_POST["catr2"]; $res = mysql_query(" SELECT * FROM categorie3 WHERE cat2='".$val2."' ORDER BY cat3"); while($row = mysql_fetch_assoc($res)) { echo "<option value='".$row["cat3"]."'>".$row["cat3"]."</option>"; } } echo "</select>"; ?>
Tout fonctionne parfaitement sinon mais ce n'est pas top de voir :
Categorie 1 categorie 2 categorie 3
Achat------- Four----------choisir categorie 2...
J'éspère que l'on c'est compris si quelqu'un peu m'aider....
Merci d'avance
Partager