Bonjour!!

J'ai récupéré un petit script qui met à jour une deuxième liste déroulante en fonction du choix fait dans une premiere.
Je le fais en interrogeant une base mySQL, ca marche niquel, par contre en interrogeant ma base oracle ca ne marche pas.

Je récupère bien mes infos dans la 1ere liste, mais la seconde ne se met jamais à jour...

Quelqu'un peut il m'aider à y voir plus clair, je suis débutant en javascript.
Merci beaucoup^

Code qui marche :

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
<script>
//******Pour remplir le service et les noms des techniciens**********

List = new Array();
 
function remplir(valeur){
	
	var sel = "";
	sel = "<select size='1' name='nomtech'>";
	   for (var i=0;i<List.length;i++){
	
	       if (List[i][1]==valeur){
	         sel=sel+"<option value="+List[i][0]+">"+List[i][0]+"</option>"; 
	       }
	   }
	sel=sel+"</select>"; 
	
	//modifier le div par la nouvelle list à partir de la variable SEL
	document.getElementById('tech').innerHTML=sel;
	
	
}
</script>

</head>

<body>

<div align="center">
	<font size="24" color="#006666">Page d'accueil</font>
</div>
<br><br><hr><br>


<form method="POST" action="login.php">

<!----------------------------------------Affiche et remplit les listes de service et des noms ---------------------------------------->
	<div class="liste">
	<label>	Service</label> : 
	<select size="1" name="service" onChange="remplir(service.value)">
	<option value="vide">Sélectionnez le service</option>
		
		<?php
		
		
		$i=0; //variable de test
		$j=0; //variable pour garder la valeur du premier enregistrement service pour l'affichage
		
		
		$connexion=mysql_connect('localhost','root','dikeos') or die ("Impossible de se connecter");		
		mysql_select_db('travaux',$connexion);
		
//selection du service de la table technicien		
$req="SELECT service FROM technicien GROUP BY service";
$res=mysql_query($req) or die ("Echec de la requete");
		
   while($dt=mysql_fetch_row($res)){
   //remplir la liste déroulante des services 
			
	echo "\t\t<option value=".($dt[0]).">".($dt[0])."</option>";
			
	if ($i==0){
                  $j=$dt[0];
	     $i=1; //garder la valeur du premier enregistrement
				
	}
   }
				
?>

</select>
</div> 
<script>remplir(service.value)</script> 
		
<div class="nom">
    <label>Nom</label> :
</div>
	
<div id="tech">		
    <select size="1" name="nomtech">
    </select>
</div>
	
<?php
	
$req="SELECT nom,service FROM technicien ORDER BY nom";
$res=mysql_query ($req) or die ("Echec dans la requete");
$i=0;
    while ($dt=mysql_fetch_row($res)){
	//remplir le tableau (array) en javascript (List[1]=new array ("technicien1","service"))
	echo"<script>List[".$i."]=new Array('".($dt[0])."','".($dt[1])."');</script>";
	$i=$i+1;
    }		
	
     echo"<script>remplir($j);</script>"; 
     //remplir la deuxième liste avec les données des techniciens en utilisant j	
?>

Code qui marche pas :

Seule l'interrogation de la base de données change :
Dans cette partie, Craft correspond au service et lastname au nom

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$sql=new oracle();
$sql->connect();
 
$req="SELECT CRAFT FROM EMP GROUP BY CRAFT";
$sql->execute($req);
 
	for($i=0;$i<$sql->nbresults();$i++){
		$dt=$sql->recup($i,"CRAFT");
		echo "\t\t<option value=".($dt).">".($dt)."</option>";
			if ($i==0){
			    $j=$dt;
			    $i=1; //garder la valeur du premier enregistrement
			}
	}
puis

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
        
        
$sql=new oracle();
$sql->connect();
$req="SELECT distinct LASTNAME,CRAFT FROM EMP ORDER BY LASTNAME";
        $sql->execute($req);
        for($i=0;$i<$sql->nbresults();$i++){
                        $dt0=$sql->recup($i,"LASTNAME");                
                        $dt1=$sql->recup($i,"CRAFT");
                        echo"<script>List[".$i."]=new Array('".($dt0)."','".($dt1)."');</script>";
        }
        
        echo"<script>remplir($j);</script>";    
        ?>

Désolé pour le pavé de code et encore merci

EDIT : POur info, j'ai l'erreur suivante 'ASSIST' est indefini.
ASSIST est le premier enregistrement pour le champs "craft" et accessoirement la valeur de $j.