Bonjour à tous, je dispose actuellement d'une liste déroulante alimenter par une base de donnée.
Lorsque l'utilisateur sélectionne une option dans la liste, le choix choisis s'affiche sans ce rafraichir dans un tableau.

Voici le code :

Feuille1.php (Javascript)

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
 
   <script language="javascript">
function request(url,cadre) {
	var XHR = null;
 
	if(window.XMLHttpRequest)
		XHR = new XMLHttpRequest();
	else if(window.ActiveXObject) 
		XHR = new ActiveXObject("Microsoft.XMLHTTP");
	else { 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}
 
	XHR.open("GET",url, true);
 
	XHR.onreadystatechange = function attente() {
 
	if(XHR.readyState == 4)     {
 
		document.getElementById(cadre).innerHTML = XHR.responseText;
   }
	}
	XHR.send(null);		
	return;
}
  </script>

Feuille1.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
 
 
<TR>
<TD>
<select onchange="request('donne.php?commercial='+this.value+'','xmlhttp')" name="lcommercial">
<option selected="selected">Choisissez</option>
<?php
 
$requetecommercial= "select distinct ma_comvisu from ma_magasins";
$rescommercial = mssql_query($requetecommercial);
 
 
 
while($valcommercial=mssql_fetch_array($rescommercial)) {
        
        echo "<option value=".$valcommercial["ma_comvisu"]." >".$valcommercial["ma_comvisu"]."</option>";
}
        
 
 
echo"<option>Tous</option>";
echo"</select>";
        
?>
  </TD>
 
  <TD> 
  <select onchange="request('donne.php?date='+this.value+'','xmlhttp')" name="ldate" id="ldate">
 <?php
 
 $requetedate= "select distinct substring(MA_VisiteDECT,1,10) as date from ma_magasins order by substring(MA_VisiteDECT,1,10)";
  $resdate = mssql_query($requetedate);
  
  
  while($valdate=mssql_fetch_array($resdate)) {
        
        echo "<option>".$valdate["date"]."</option>";
}
echo"<option>Tous</option>";
echo'<option selected="selected">Choisissez</option>';
echo"</select>";
?>
</TD>
donne.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
 
<?php
if(($_GET['commercial']!='Tous') && ($_GET['commercial']!='Choisissez')){
$valeurcommercial = $_GET['commercial'];
echo '<TR>';
echo '<TD>';
echo $valeurcommercial;
echo '</TD>';
echo '<TD>';
echo '</TD>';
echo '</TR>';
}
 
if(($_GET['commercial']=='Tous') || ($_GET['commercial']=='Choisissez')){
 
$hostname = 'aa'; 
$username = 'aa';            
$password = 'aa';
$base = 'aa';
        
$cnx = mssql_connect($hostname, $username,$password) or die("erreur de connexion au serveur $host");
$db = mssql_select_db($base, $cnx) or die("Erreur de connexion a la base de donnees" );
 
$requetecommercial= "select distinct ma_comvisu from ma_magasins";
$rescommercial = mssql_query($requetecommercial);
  
while($valcommercial=mssql_fetch_array($rescommercial)) {
echo '<TR>';
echo '<TD>';
echo $valcommercial["ma_comvisu"];
echo '</br>';
echo '</TD>';
echo '</TR>';
}
}
 
?>
Comme vous pouvez le voir dans mon code Php, j'ai ajouter une seconde liste déroulante.
Je ne souhaite pas mettre à jour une liste déroulante par rapport à l'autre.
Cependant je voudrais que lorsque que je choisis une option dans la première liste, l'option par défaut de la seconde soit également pris en compte et vice versa.

Je m'explique, je dispose d'une liste Commercial et Date. Je choisis une date dans ma seconde liste déroulante sans toucher à la première,je voudrais que que cela m'affiche tous les commercial de cette date précise.
(Tous puisque je voudrais que la valeur par défaut des listes lors du premier affichage de la page soit "Choisissez" qui corespond à tous les commercial dans mon code)

Je pense à un problème du Onchange qui ne renvoi que la valeur de la liste déroulante que l'on touche.

Merci de votre aide.