Bonjour, j'ai le problème suivant:

J'ai quatre tables:
medecin: num_medecin, nom_medecin, ville_medecin
demande: num_medecin, num_livreur, date_demande
livreur: num_livreur, nom_livreur, ville_livreur, num_grossiste
grossiste: num_grossiste, nom_grossiste

Je souhaiterai que lorsqu'on choisit un médecin, on obtient les livreurs ayant la même ville que le médecin sélectionné (ville_medecin=ville_livreur, puis le nom des grossistes liée au livreur sélectionné.
(Liste 2 dépend de liste 1 et liste 3 dépend de liste 2).
Voici mes codes:

demande2.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
 
<html>
 
<script type='text/javascript'>
 
			function getXhr(){
                                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr;
			}
 
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
			function go_livre()
			{
 				var xhr2 = getXhr();
 
				// On défini ce qu'on va faire quand on aura la réponse
 
 
				xhr2.onreadystatechange = function()
				{
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr2.readyState == 4 && xhr2.status == 200)
					{
						leselect = xhr2.responseText;
// 						leselect = 3;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById('grossiste').innerHTML = leselect;
					}
 
				}
 
				// Ici on va voir comment faire du post
				xhr2.open("POST","ajaxGrossiste2.php",true);
				// ne pas oublier ça pour le post
 
 
				xhr2.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				// ne pas oublier de poster les arguments
				// ici, l'id du medecin
 
				sel2=document.getElementById('livreur');
				idlivreur = sel2.options[sel2.selectedIndex].value;
 
				xhr2.send("idLivre="+idlivreur);
// 				xhr2.send("idAuteur"=+idauteur);
			}
 
		</script>
	</head>
	<body>
		<form>
 
				<label>Test livrés par/où :</label>
				<div id='livreur' style='display:inline'>
				<select name='livreur' id='livreur' onchange='go_livre()'>
					<option value='-1'>Choisir un médecin d'abord</option>
				<?
						mysql_connect("localhost","root","root");
						mysql_select_db("stage");
						$res = mysql_query("SELECT * FROM livreur ORDER BY nom_livreur");
						while($row = mysql_fetch_assoc($res)){
							echo "<option value='".$row["num_livreur"]."'>".$row["nom_livreur"]. "(".$row["num_livreur"].")</option>";
						}
					?>
				</select>
				</div><br>
 
				<label>Grossiste :</label>
				<div id='grossiste' style='display:inline'>
				<select name='grossiste'>
					<option value='-1'>Choisir un médecin d'abord</option>
				</select>
		</form>
 
 
 
</html>
ajaxLivreur2.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
 
<?php
        echo "<select name='livreur'>";
        $idmed=$_POST["idAuteur"];
        if(isset($idmed)){
                mysql_connect("localhost","root","root");
                mysql_select_db("stage");
                $ville = mysql_query("SELECT ville_med FROM medecin WHERE num_med=".$idmed." ORDER BY nom_med");
                $ville = mysql_fetch_object($ville);
                $ville = $ville->ville_med;
                $res = mysql_query('SELECT * FROM livreur WHERE ville_livreur="'.$ville.'" ORDER BY nom_livreur');
                while($row = mysql_fetch_assoc($res)){
                        echo "<option value='".$row["num_livreur"]."'>".$row["nom_livreur"]."</option>";
                }
        }
        echo "</select>";
?>
ajaxGrossiste2.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
 
<?php
        echo "<select name='grossiste'>";
        $idlivre=$_POST["idLivreur"];
        if(isset($idlivre)){
                mysql_connect("localhost","root","root");
                mysql_select_db("stage");
                $ville = mysql_query("SELECT num_grossiste FROM livreur WHERE num_livreur=".$idlivre." ORDER BY nom_livreur");
                $ville = mysql_fetch_object($ville);
                $ville = $ville->num_grossiste;
                $res = mysql_query('SELECT * FROM grossiste WHERE num_grossiste="'.$ville.'" ORDER BY nom_grossiste');
                while($row = mysql_fetch_assoc($res)){
                        echo "<option value='".$row["num_grossiste"]."'>".$row["nom_grossiste"]."</option>";
                }
        }
?>
J'ai réussi à obtenir les livreurs en fonction de la ville du médecin mais je n'arrive pas à avoir le nom du grossiste en fonction du livreur.

Merci de votre aide!