Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/04/2011, 14h26   #1
Invité de passage
 
Homme maxime maxime perrin
Étudiant
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme maxime maxime perrin
Localisation : France, Aude (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 1
Points : 1
Par défaut synchroniser trois listes déroulantes avec deux requêtes différentes

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 :
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/:</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 :
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 :
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!
maxoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 14h40   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Bonsoir,

Après une lecture diagonale, j'ai trouvé deux erreurs:
1-
Citation:
<div id='livreur' style='display:inline'>
<select name='livreur' id='livreur' onchange='go_livre()'>
Un id doit être unique dans un document.
2-
Citation:
echo "<select name='livreur'>";
Ton select généré n'a pas d'id et ne fait pas appel à une fonction AJAX pour charger la troisième select.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 15h02   #3
Invité de passage
 
Homme maxime maxime perrin
Étudiant
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme maxime maxime perrin
Localisation : France, Aude (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 1
Points : 1
Merci voici les modifications faites :

demande2.php
Code :
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
 
<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_med()
			{
				var xhr = getXhr();
 				var xhr2 = getXhr();
 
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function()
				{
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200)
					{
						leselect = xhr.responseText;
						// leselect = 3;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById('livreur').innerHTML = leselect;
					}
				}
 
				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
				xhr.open("POST","ajaxLivreur2.php",true);
				xhr2.open("POST","ajaxGrossiste2.php",true);
				// ne pas oublier ça pour le post
 
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				xhr2.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 
				// ne pas oublier de poster les arguments
				// ici, l'id du medecin
				sel = document.getElementById('medecin');
				idauteur = sel.options[sel.selectedIndex].value;
				sel2=document.getElementById('medecin');
				idmed = sel2.options[sel2.selectedIndex].value;
 
				xhr.send("idAuteur="+idauteur);
				xhr2.send("idMed="+idmed);
// 				xhr2.send("idAuteur"=+idauteur);
			}
 
		</script>
	</head>
	<body>
		<form name="frm" action="./enr_demande2.php" method="POST">
				<label>Médecin</label>
				<select name='medecin' id='medecin' onchange='go_med()'>
					<option value='-1'>Aucun</option>
					<?
						mysql_connect("localhost","root","root");
						mysql_select_db("stage");
						$res = mysql_query("SELECT * FROM medecin ORDER BY nom_med");
						while($row = mysql_fetch_assoc($res)){
							echo "<option value='".$row["num_med"]."'>".$row["nom_med"]. "(".$row["num_med"].")</option>";
						}
					?>
				</select><br>
 
				<label>Test livrés par/:</label>
				<div id='livreur' style='display:inline'>
				<select name='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 :
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 :
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>";
		}
	}
?>
Liste 1 --> liste 2 marche mais pas liste 2 --> liste 3
what?
maxoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 15h19   #4
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Citation:
Envoyé par andry.aime
Ton select généré n'a pas d'id et ne fait pas appel à une fonction AJAX pour charger la troisième select.
Dans le onchange de ton second select, tu dois appeler une autre fonction AJAX qui rechargera la troisième. Ne la mélange pas dans une seule fonction.

N'utilise pas le même name et id pour différents éléments car ça te posera un problème avec IE.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 15h38   #5
Invité de passage
 
Homme maxime maxime perrin
Étudiant
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme maxime maxime perrin
Localisation : France, Aude (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 1
Points : 1
J'ai changé les nom et mis une fonction or j'ai plus rien qui marche.
J'ai la liste 2 qui m'affiche tout les nom des livreurs sans tenir compte de la ville_med

demande2.php
Code :
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
 
<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_med()
			{
				var xhr = getXhr();
 
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function()
				{
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200)
					{
						leselect = xhr.responseText;
						// leselect = 3;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById('livreur').innerHTML = leselect;
					}
				}
 
				// Ici on va voir comment faire du post
				xhr2.open("POST","ajaxGrossiste2.php",true);
				// ne pas oublier ça pour le post
 
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				// ne pas oublier de poster les arguments
				// ici, l'id du medecin
				sel = document.getElementById('medecin');
				idauteur = sel.options[sel.selectedIndex].value;
 
 
				xhr.send("idAuteur="+idauteur);
 
// 				xhr2.send("idAuteur"=+idauteur);
			}
 
			function go_livre()
			{
 
 				var xhr2 = getXhr();
 
				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("idlivreur="+idmed);
			}
 
		</script>
	</head>
	<body>
		<form name="frm" action="./enr_demande2.php" method="POST">
				<label>Médecin</label>
				<select name='zl_medecin' id='medecin' onchange='go_med()'>
					<option value='-1'>Aucun</option>
					<?
						mysql_connect("localhost","root","root");
						mysql_select_db("stage");
						$res = mysql_query("SELECT * FROM medecin ORDER BY nom_med");
						while($row = mysql_fetch_assoc($res)){
							echo "<option value='".$row["num_med"]."'>".$row["nom_med"]. "(".$row["num_med"].")</option>";
						}
					?>
				</select><br>
 
				<label>Test livrés par/:</label>
				<div id='livreur' style='display:inline'>
				<select name='zl_livre' 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='zl_grossiste'>
					<option value='-1'>Choisir un médecin d'abord</option>
				</select>
		</form>
 
 
 
</html>
ajaxLivreur2.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php
	echo "<select name='zl_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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<?php
	echo "<select name='zl_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>";
		}
	}
?>
maxoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 16h48   #6
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Code :
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
 
<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_med()
			{
				var xhr = getXhr();
 
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function()
				{
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200)
					{
						leselect = xhr.responseText;
						// leselect = 3;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById('livreur').innerHTML = leselect;
					}
				}
 
				// Ici on va voir comment faire du post
				xhr2.open("POST","ajaxGrossiste2.php",true);
				// ne pas oublier ça pour le post
 
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				// ne pas oublier de poster les arguments
				// ici, l'id du medecin
				var sel = document.getElementById('medecin');
				var idauteur = sel.options[sel.selectedIndex].value;
 
 
				xhr.send("idAuteur="+idauteur);
 
// 				xhr2.send("idAuteur"=+idauteur);
			}
 
			function go_livre()
			{
 
 				var xhr2 = getXhr();
 
				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
 
				var sel2=document.getElementById('zl_livre');
				var idlivreur = sel2.options[sel2.selectedIndex].value;
 
				xhr2.send("idlivreur="+idlivreur);
			}
 
		</script>
	</head>
	<body>
		<form name="frm" action="./enr_demande2.php" method="POST">
				<label>Médecin</label>
				<select name='zl_medecin' id='medecin' onchange='go_med()'>
					<option value='-1'>Aucun</option>
					<?
						mysql_connect("localhost","root","root");
						mysql_select_db("stage");
						$res = mysql_query("SELECT * FROM medecin ORDER BY nom_med");
						while($row = mysql_fetch_assoc($res)){
							echo "<option value='".$row["num_med"]."'>".$row["nom_med"]. "(".$row["num_med"].")</option>";
						}
					?>
				</select><br>
 
				<label>Test livrés par/:</label>
				<div id='livreur' style='display:inline'>
				<select name='zl_livre' id="zl_livre" 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='zl_grossiste'>
					<option value='-1'>Choisir un médecin d'abord</option>
				</select>
		</form>
 
 
 
</html>
Code php :
1
2
echo "<select name='zl_livre' id='zl_livre' onchange='go_livre()' >";
	$idmed=$_POST["idAuteur"];

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 09h27   #7
Invité de passage
 
Homme maxime maxime perrin
Étudiant
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme maxime maxime perrin
Localisation : France, Aude (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 1
Points : 1
Merci tu a résolu le problème pour liste 2 --> liste 3.

Mais la connection liste 1 --> liste 2 ne marche plus alors que j'ai rien changé au code.

Est ce que la fonction go_med n'est pas écrasé par go_livre?
maxoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h28   #8
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Re,
dans la fonction go_med()
Citation:
xhr2.open("POST","ajaxGrossiste2.php",true);
Code :
1
2
 
xhr.open("POST","ajaxGrossiste2.php",true);
cool le copier/coller .

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h40   #9
Invité de passage
 
Homme maxime maxime perrin
Étudiant
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme maxime maxime perrin
Localisation : France, Aude (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 1
Points : 1
MERCI tout marche!!

Juste un soucis je sélectionne un médecin, il présélectionne les livreurs mais il n'affiche rien pour le grossiste, même si je change dans la liste pour le livreur rien n'apparait pour le grossiste.

Est ce qu'il faudrait modifier mes requêtes?
maxoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h53   #10
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Ben essaye de revoir tes codes seules avant de poster sur le forum, tu n'y avancerais jamais si tu continues comme ça

Regarde la page appelée par les deux requêtes AJAX est la même.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 12h02   #11
Invité de passage
 
Homme maxime maxime perrin
Étudiant
Inscription : avril 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme maxime maxime perrin
Localisation : France, Aude (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 6
Points : 1
Points : 1
ok merci, grâce à toi j'ai beaucoup avancé
maxoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h35.


 
 
 
 
Partenaires

Hébergement Web