Bonjour j'aimerais lier 2 listes déroulantes, c'est à dire pouvoir sélectionner un processus (dans ce cas) dans une liste et sélectionner une procédure dans une seconde liste de procédures liées au processus sélectionné:

**CE QUI EST FAIT**
1-la liste déroulante des processus

En fait je n'arrive pas à lier la deuxième liste.J'aimerai m'inspirer des "case" de javascript mais je voudrais parcourir la table "PROCEDURES" automatiquement et que les procedures qui ont le idprocess du PROCESS (processus)sélectionné nourrisent la seconde liste(je suis en oracle et pas MySQL).Je pars de ça:

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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<head>
<?php
 
	include "modules/adodb/adodb.inc.php";
	include "config/config.php";
	$db = NewADOConnection("oci8");
	$cstr = "(DESCRIPTION=(ADDRESS=(PROTOCOL=$PROTOCOL)(HOST=$HOST)(PORT=$PORT))(CONNECT_DATA=(SID=$SID)))";
	$db->Connect($cstr, $USER, $PWD);
	$res=$db->Execute("SELECT count(*) FROM processes" );
 
?>
	<script type="text/javascript">
		function Choix(formulaire) {
		i = formulaire.Boite1.selectedIndex;
		if (i == 0) {
			$nrows = $res-> Fieldcount();
		}
		//  for (i=0;i<$nrows;i++) {
		//    formulaire.Boite2.options[i].text="";
		 //   }
		  return;
		  }
 
		switch (i) {
 
<?php 
 
$res=$db->Execute("SELECT idprocedure FROM procedures WHERE" );
 
echo'idprocedure : var txt = new Array ("Page 1.1","Page 1.2","Page 1.3"); break;';
 
while ($data=$res->FetchRow())
{
echo "<option> ".$data['HEADING']." </option>"; 
}
?>
		//case 1 : var txt = new Array ('Page 1.1','Page 1.2','Page 1.3'); break;
		//case 2 : var txt = new Array ('Page 2.1','Page 2.2','Page 2.3'); break;
		//case 3 : var txt = new Array ('Page 3.1','Page 3.2','Page 3.3'); break;
		}
formulaire.Boite2.options[0].text="--- Choisissez une procedure ---";
 
		for (i=0;i<$nrows;i++) {
		formulaire.Boite2.options[i+1].text=txt[i];
		  }
		} 
 
	</script>
 
 
</head>
 
//Ce qui suit est ok
 
<body>
 
	<form action="#" name="formulaire">
	<?php
 
	$req="SELECT * FROM processes  ORDER BY idprocess";	
	$res=$db->Execute($req);
 
	?>
 
		<select name="Boite1" onChange='Choix(this.form)'>
		<option selected>--- Choisissez un processus ---</option>
 
	<?php
		while ($data=$res->FetchRow())
		{
			echo "<option> ".$data['HEADING']." </option>"; 
		} 
	?>
 
 
<select name="Boite2" OnChange="alert('vous avez choisi : \n Le processus ' + formulaire.Boite1.selectedIndex + ' et la page ' +formulaire.Boite2.selectedIndex+ '')">
			<option selected>--- Choisissez une proc&eacutedure ---</option>
 
			<option></option>
			<option></option>
			<option></option>
		</select>
	</form> 
 
</body>
MERCI

bbk91