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.

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&eacute;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&eacute;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
}
?>
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
<?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&eacute;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&eacute;l&eacute;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;\" />";
 
?>
Quelqu'un peut-il m'expliquer ce dysfonctionnement ?

Merci