salutatous(tes),

j'ai un formulaire comportant à la fois une liste dynamique et une liste normale... et quelques champs dont certains sont obligatoires

quand je valide le formulaire et qu'un champ obligatoire manque a l'appel, le formulaire se ré-affiche avec un message d'erreur approprié

mon souci c'est que ma liste déroulante dynamique ne ré-affiche pas l'option précédemment sélectionnée !

voici le code de ma liste dynamique :

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
<select name="fonction_01" class="listederoulante">
 
	<option value="" style="color:grey;">Choix...</option>
 
<?php
 
$sql = "SELECT * FROM ma_table ORDER BY nom_fonction ASC";
$sql_bis = mysql_query($sql);
echo mysql_error();
 
//--------------
 
while($valeur = mysql_fetch_array($sql_bis)) {
	echo "<option>" . stripslashes(htmlspecialchars($valeur["nom_fonction"])) . "</option>\n";
}
 
?>
 
</select>
j'ai essayé de remplacer ma boucle while par :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<?php
while($valeur = mysql_fetch_array($sql_bis)) {
?>
 
<option value='<?php echo stripslashes(htmlspecialchars($valeur["nom_fonction"])); ?>' <?php if ($_POST['fonction_01']=='stripslashes(htmlspecialchars($valeur["nom_fonction"]))') {echo "selected='selected'";}?> ><?php echo stripslashes(htmlspecialchars($valeur["nom_fonction"])); ?></option>
 
<?php
 }
?>
mais ça ne fonctionne pas !!!

pourtant ça fonctionne parfaitement avec une liste non dynamique, comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<option value='Bordeaux' <?php if ($_POST['ville']=='Bordeaux') {echo "selected='selected'";}?> >Bordeaux</option>
je voudrais adapter cela à ma liste dynamique... merci de votre aide...