Bonjour a tous,
j'ai un problème pour faire une liste déroulante liée a une première.
Mes deux listes sont rempli depuis une base de donnée mysql.
Quant je test sur une page vierge juste avec mes deux listes , ça fonctionne bien mais dés que j'intègre mon code dans ma page principale ça ne fonctionne plus
Pour rentrer plus en détail si je met mon code pour la creation de mes liste déroulante en dehors de mon formulaire c'est ok par contre du moment ou je teste dans mon form ça ne fonctionne plus.
Mes listes déroulantes liées sont 'categorie' dans la page principale et 'sous categorie' dans ma page "traitement.php"
voici mes fichiers :
page principale --> "ajout_produit.php"
page qui traite la liste déroulante liée --> "traitement.php"
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223 <?php session_start(); include ('auth_verif.php'); include ('../include/host.php'); ?> <head> <link rel="stylesheet" href="../include/style.css" type="text/css" /> <script type="text/javascript" src="../include/fonctions.js"></script> </head> <body> <div id="contenu"> <center><b><h2>Ajouter un produit</h2></b></center><br> <form action="ajout_produit_valide.php" method="POST" enctype="multipart/form-data"> <table> <?php $type=$_GET['type']; switch ($type) { case spiritueux: echo '<tr><td>Affichage</td><td><input type="text" name="aff" id="aff" size="30"></td></tr>'; echo '<tr><td>Catégorie</td>'; echo '<td><select name="cat" id="cat" onchange="sscat(this.value);">'; echo '<option value="0">Selectionnez une catégorie</option>'; $result="SELECT * FROM categorie WHERE cat_type='$type' ORDER BY cat_cat ASC"; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo '<option value='.$data["cat_cat"].'>'.$data["cat_cat"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; echo '<div id="divsscat">'; include('traitement.php'); echo '</div>'; echo '<tr><td>Maison</td><td><input type="text" name="maison" id="maison" size="30"></td></tr>'; echo '<tr><td>Contenance</td>'; echo '<td><select name="volume">'; echo '<option value="0">Selectionnez une contenance</option>'; $result='SELECT volume FROM volume ORDER BY volume ASC'; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo '<option value='.$data["volume"].'>'.$data["volume"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; echo '<tr><td>Degre</td><td><input type="text" name="degre" id="degre" size="30"></td></tr>'; echo '<tr><td>Prix HT</td><td><input type="text" name="prix" id="prix" size="30"></td></tr>'; echo '<tr><td>TVA</td>'; echo '<td><select name="tva">'; echo '<option value="0">Selectionnez la TVA</option>'; $result='SELECT tva FROM tva ORDER BY tva ASC'; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo "<option value=".$data['tva'].">".$data['tva']."</option></center>"; } echo "</SELECT>"; echo "</td></tr>"; echo '<tr><td>Commentaire</td><td><input type="text" name="com" id="com" size="30"></td></tr>'; echo "<tr><td>Notre selection</td><td><SELECT name='selection' size='1'><OPTION>Oui<OPTION>Non</SELECT></td></tr>"; echo '<tr><td>Selectionnez une image <br>(taille hauteur 200 px largeur 100 px) </td><td><input type="file" name="nomfichier" id="nomfichier"/></td></tr>'; break; case bulle: echo '<tr><td>Affichage</td><td><input type="text" name="aff" id="aff" size="30"></td></tr>'; echo '<tr><td>Catégorie</td>'; echo '<td><select name="cat" id="cat" onchange="sscat(this.value);">'; echo '<option value="0">Selectionnez une catégorie</option>'; $result="SELECT * FROM categorie WHERE cat_type='$type' ORDER BY cat_cat ASC"; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo '<option value='.$data["cat_cat"].'>'.$data["cat_cat"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; echo '<div id="divsscat">'; include('traitement.php'); echo "</div>"; echo '<tr><td>Appelation</td><td><input type="text" name="app" id="app" size="30"></td></tr>'; echo '<tr><td>Millesime</td><td><input type="text" name="millesime" id="millesime" size="30"></td></tr>'; echo '<tr><td>Maison</td><td><input type="text" name="maison" id="maison" size="30"></td></tr>'; echo '<tr><td>Contenance</td>'; echo '<td><select name="volume">'; echo '<option value="0">Selectionnez une contenance</option>'; $result='SELECT volume FROM volume ORDER BY volume ASC'; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo '<option value='.$data["volume"].'>'.$data["volume"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; echo '<tr><td>Prix HT</td><td><input type="text" name="prix" id="prix" size="30"></td></tr>'; echo '<tr><td>TVA</td>'; echo '<td><select name="tva">'; echo '<option value="0">Selectionnez la TVA</option>'; $result='SELECT tva FROM tva ORDER BY tva ASC'; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo "<option value=".$data['tva'].">".$data['tva']."</option></center>"; } echo "</SELECT>"; echo "</td></tr>"; echo '<tr><td>Commentaire</td><td><input type="text" name="com" id="com" size="30"></td></tr>'; echo "<tr><td>Notre selection</td><td><SELECT name='selection' size='1'><OPTION>Oui<OPTION>Non</SELECT></td></tr>"; echo '<tr><td>Selectionnez une image <br>(taille hauteur 200 px largeur 100 px) </td><td><input type="file" name="nomfichier" id="nomfichier"/></td></tr>'; break; case whisky: echo '<tr><td>Affichage</td><td><input type="text" name="aff" id="aff" size="30"></td></tr>'; echo '<tr><td>Catégorie</td>'; echo '<td><select name="cat" id="cat" onchange="sscat(this.value);">'; echo '<option value="0">Selectionnez une catégorie</option>'; $result="SELECT * FROM categorie WHERE cat_type='$type' ORDER BY cat_cat ASC"; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo '<option value='.$data["cat_cat"].'>'.$data["cat_cat"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; echo '<div id="divsscat">'; include('traitement.php'); echo "</div>"; echo '<tr><td>Millesime</td><td><input type="text" name="millesime" id="millesime" size="30"></td></tr>'; echo '<tr><td>Maison</td><td><input type="text" name="maison" id="maison" size="30"></td></tr>'; echo '<tr><td>Pays</td>'; echo '<td><select name="pays">'; echo '<option value="0">Selectionnez un pays</option>'; $result='SELECT * FROM whisky_pays ORDER BY pays ASC'; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo '<option value='.$data["id_pays"].'>'.$data["pays"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; echo '<tr><td>Contenance</td>'; echo '<td><select name="volume">'; echo '<option value="0">Selectionnez une contenance</option>'; $result='SELECT volume FROM volume ORDER BY volume ASC'; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo '<option value='.$data["volume"].'>'.$data["volume"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; echo '<tr><td>Prix HT</td><td><input type="text" name="prix" id="prix" size="30"></td></tr>'; echo '<tr><td>TVA</td>'; echo '<td><select name="tva">'; echo '<option value="0">Selectionnez la TVA</option>'; $result='SELECT tva FROM tva ORDER BY tva ASC'; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo "<option value=".$data['tva'].">".$data['tva']."</option></center>"; } echo "</SELECT>"; echo "</td></tr>"; echo '<tr><td>Commentaire</td><td><input type="text" name="com" id="com" size="30"></td></tr>'; echo "<tr><td>Notre selection</td><td><SELECT name='selection' size='1'><OPTION>Oui<OPTION>Non</SELECT></td></tr>"; echo '<tr><td>Selectionnez une image <br>(taille hauteur 200 px largeur 100 px) </td><td><input type="file" name="nomfichier" id="nomfichier"/></td></tr>'; break; case biere: echo '<tr><td>Affichage</td><td><input type="text" name="aff" id="aff" size="30"></td></tr>'; echo '<tr><td>Catégorie</td>'; echo '<td><select name="cat" id="cat" onchange="sscat(this.value);">'; echo '<option value="0">Selectionnez une catégorie</option>'; $result="SELECT * FROM categorie WHERE cat_type='$type' ORDER BY cat_cat ASC"; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo '<option value='.$data["cat_cat"].'>'.$data["cat_cat"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; echo '<div id="divsscat">'; include('traitement.php'); echo "</div>"; echo '<tr><td>Contenance</td>'; echo '<td><select name="volume">'; echo '<option value="0">Selectionnez une contenance</option>'; $result='SELECT volume FROM volume ORDER BY volume ASC'; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo '<option value='.$data["volume"].'>'.$data["volume"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; echo '<tr><td>Degre</td><td><input type="text" name="degre" id="degre" size="30"></td></tr>'; echo '<tr><td>Prix HT</td><td><input type="text" name="prix" id="prix" size="30"></td></tr>'; echo '<tr><td>TVA</td>'; echo '<td><select name="tva">'; echo '<option value="0">Selectionnez la TVA</option>'; $result='SELECT tva FROM tva ORDER BY tva ASC'; $req= mysql_query($result)or die("erreur"); while($data = mysql_fetch_array($req)){ echo "<option value=".$data['tva'].">".$data['tva']."</option></center>"; } echo "</SELECT>"; echo "</td></tr>"; echo '<tr><td>Commentaire</td><td><input type="text" name="com" id="com" size="30"></td></tr>'; echo "<tr><td>Notre selection</td><td><SELECT name='selection' size='1'><OPTION>Oui<OPTION>Non</SELECT></td></tr>"; echo '<tr><td>Selectionnez une image <br>(taille hauteur 200 px largeur 100 px) </td><td><input type="file" name="nomfichier" id="nomfichier"/></td></tr>'; break; } ?> </table> <br> <input type="submit" value="Ajout"> </form> </div> </body> <?php mysql_close(); ?>
Et ma fonction AJAX --> 'fonction.js'
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 <?php include ('../include/host.php'); $cat=$_POST['cat']; echo "<tr><td>$cat Sous Categorie</td>"; echo '<td><select name="sscat" id="sscat">'; echo '<option value="0">Selectionnez une sous categorie</option>'; $result1="SELECT * FROM sscategorie WHERE sscat_cat='$cat' ORDER BY sscat_sscat ASC"; $req1= mysql_query($result1)or die("erreur"); while($data1 = mysql_fetch_array($req1)){ echo '<option value='.$data1["sscat_sscat"].'>'.$data1["sscat_sscat"].'</option></center>'; } echo "</SELECT>"; echo "</td></tr>"; ?>
Code javascript : 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 //Fonction d'Instance function objet_XMLHttpRequest(){ var xhr = null; if (window.XMLHttpRequest || window.ActiveXObject){ if(window.ActiveXObject){ try{ xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else{ xhr = new XMLHttpRequest(); } } else{ alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return null; } return xhr; } //Fonction permettant d'envoyer les données function sscat(id) { //On déclare un objet var objet1 = objet_XMLHttpRequest(); //On défini ce qu'on va faire quand on aura la réponse objet1.onreadystatechange = function(){ //On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(objet1.readyState == 4 && objet1.status == 200){ //On envoie la réponse dans le div "divsscat" document.getElementById('divsscat').innerHTML = objet1.responseText; } //côté ajax ça merde else{ //on contrôle le statut. Si 404, le fichier ouvert par "open" n'existe pas if(objet1.status == 404){ alert('Erreur ' +objet1.status + '! Le fichier php semble être absent...'); } } } //Ouverture : méthode, fichier, mode (true=asynchrone | false=synchrone) objet1.open("POST", "traitement.php" , true); objet1.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //envoie objet1.send("cat=" + id); }
Est ce que l'un de vous aurait une idée?!!
Merci d'avance pour l'aide que vous pourrez m'apporter...
Partager