Bonjour
Dans une application, j'ai trois listes déroulantes dans lesquelles je mes 3 informations (récupérées dans un BD). Ces informations sont des thèmes (Th), sous- thèmes (Sth) et source (Sr). Je voudrais que le client puisse voir ses choix dans le URL qu'il envoie au serveur sans utiliser des boutons. Seulement, je n'y arrive pas, l'information de la deuxième liste déroulante est en retard de UN tout le temps. Par exemple, quand je commence, en choisissant le Thème 5, le sous thème 7 et la source 1, voici ce que j'obtiens
http://localhost/MonSite/fr/index.php?Th=5&Sth=0&Sr=0
alors que ce que je voudrais avoir
http://localhost/MonSite/fr/index.php?Th=5&Sth=7&Sr=1

Voici comment je procède:
Je remplis les listes déroulantes comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 <?php
echo "<select name='Th' onchange=\"reloadURL(this.form)\" id='Theme' STYLE= 'width:390px' >";                           
/* Liste déroulante en fonction des résultats de la requêtes */
while($row = sqlsrv_fetch_array($resultat1)) 
{
if($row["ID_THEME"]==$theme)
echo'<option selected value="'.$row["ID_THEME"].'">'.$row["THEME_FR"].'</option>';
else echo'<option value="'.$row["ID_THEME"].'">'.$row["THEME_FR"].'</option>';
}
?>



je fais pareil pour les sous thèmes et source.

Ensuite, dans une fonction j'envoie ces informations à l'URL.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
 
function reloadURL(form)
{
var Th=form.Th.options[form.Th.options.selectedIndex].value;
var Sth=form.Sth.options[form.Sth.options.selectedIndex].value;
var Sr=form.Sr.options[form.Sr.options.selectedIndex].value;
self.location='index.php?Th=' + Th + '&Sth=' + Sth + '&Sr=' + Sr ;
}
Quelqu'un aurait une idée qui m'aiderait à faire ce que je voudrais?
Merci.
Bonne journée

Ludba