Bonjour,
Le script ci-dessous fonctionne très bien lorsqu'il est appelé directement dans l'URL.
Dans une première liste déroulante, on sélectionne une valeur, et en fonction de la valeur sélectionnée, une seconde liste déroulante est alimentée.
Par contre, lorsque je l'appelle, par le biais d'un include dans un second scipt (ci-dessous), uniquement la première liste est alimentée, et malgré le choix dans celle-ci, la seconde liste ne s'affiche pas.
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 <?php include('functions.php'); // On contrôle si un choix a été fait dans la 1ère LD // choix du centre $idn = ISSET($_POST['sel_cent'])?$_POST['sel_cent']:null; $idv = ISSET($_POST['sel_vil'])?$_POST['sel_vil']:null; if(isset($_POST['ok']) && isset($_POST['sel_vil']) && $_POST['sel_vil'] != "") { $centre_selectionne = $_POST['sel_cent']; $ville_selectionnee = $_POST['sel_vil']; } // Récupération des numéros et des noms de centre // pour alimenter la 1ère LD - sélection du centre $sql1 = "SELECT num_cent, nom FROM centres GROUP BY nom"; $rq1 = mysql_query($sql1); $nrc = mysql_num_rows($rq1); //$code_cent = array(); $sel_cent = array(); while($ligne = mysql_fetch_assoc($rq1)) { //array_push($code_cent, $ligne['num_cent']); array_push($sel_cent, $ligne['nom']); } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" id="chgcent"> <select name="sel_cent" onchange="document.forms['chgcent'].submit();"> <option value="-1"> - Sélectionner un centre - </option> <?php for($i=0; $i<$nrc; $i++) { ?> <option value="<?php echo($sel_cent[$i]); ?>"<?php echo((isset($idn) && $idn == $sel_cent[$i])?" selected=\"selected\"":null); ?>><?php echo($sel_cent[$i]); ?></option> <?php } ?> </select> <?php mysql_free_result($rq1); if(ISSET($idn) && $idn != -1) { $sql2 = "SELECT * FROM centres WHERE nom='".$idn."' GROUP BY ville"; $rq2 = mysql_query($sql2); $nrv = 0; $code_centre = array(); $code_postal = array(); $sel_ville = array(); while($row = mysql_fetch_assoc($rq2)) { array_push($code_centre, $row['num_cent']); array_push($code_postal, $row['cpostal']); array_push($sel_ville, $row['ville']); $nrv++; } // } ?> <select name="sel_vil" id="sel_vil"> <option value="-1"> - Sélectionner une ville - </option> <?php for($j=0; $j<$nrv; $j++) { ?> <option value="<?php echo($code_centre[$j]); ?>"<?php echo((isset($idv) && $idv == $code_centre[$j])?" selected=\"selected\"":null); ?>><?php echo($code_postal[$j]." - ".$sel_ville[$j]); ?></option> <?php } ?> </select> </form> <?php } ?>
Quelqu'un peut-il m'expliquer ce dysfonctionnement ?
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 <?php /*******************************************/ /* Module : Suppression d'un centre */ /* Créer le : 23 / 09 / 2009 */ /* Modifié le : / / 2009 */ /* Par : Pascal Richard */ /* Version : 1.0 */ /*******************************************/ include('sel_centre.php'); $formulaire="<input type=\"hidden\" name=\"valeur\" value=\"2\">"; //$formulaire.="<label for=\"Cnom\" class=\"haut\">Nom du Centre : </label><div class=\"champs\"><input type=\"text\" name=\"Cnom\" size=\"50\" /></div>"; $formulaire.="<label for=\"Cadr\" class=\"haut\">Adresse : </label><div class=\"champs\"><input type=\"text\" name=\"Cadr\" size=\"50\" /></div>"; $formulaire.="<label for=\"Cpltadr\" class=\"haut\">Complément : </label><div class=\"champs\"><input type=\"text\" name=\"Cpltadr\" size=\"50\" /></div>"; $formulaire.="<label for=\"Cpos\" class=\"haut\">Code postal : </label><div class=\"champs\"><input type=\"text\" name=\"Cpos\" size=\"5\" /></div>"; //$formulaire.="<label for=\"Cvil\" class=\"haut\">Ville : </label><div class=\"champs\"><input type=\"text\" name=\"Cvil\" /></div>"; $formulaire.="<label for=\"Ctel\" class=\"haut\">Téléphone : </label><div class=\"champs\"><input type=\"text\" name=\"Ctel\" size=\"10\" /></div>"; $formulaire.="<label for=\"Cfax\" class=\"haut\">Fax. : </label><div class=\"champs\"><input type=\"text\" name=\"Cfax\" size=\"10\" /></div>"; $formulaire.="<label for=\"Cmel\" class=\"haut\">Mail : </label><div class=\"champs\"><input type=\"text\" name=\"Cmel\" size=\"50\" /></div>"; $formulaire.="<input type=\"submit\" name=\"submit\" value=\"Suppression\" style=\"background-color: #144974; width: 640px; margin-top: 20px; color: white;\" />"; ?>
Merci








Répondre avec citation
Partager