Salut ^^
Grâce à l'aide de Gats (http://www.developpez.net/forums/sho...d.php?t=479928), j'ai réussi à afficher un champ bien spécifique d'une liste déroulante lors de la modification de la fiche d'un employé de ma boîte.
En effet, j'avais la liste des employés dans un tableau avec en face de chacun d'un un bouton de modification, qui m'ouvrait un formulaire reprenant les données déjà inscrites sur l'employé, y compris la fonction de l'employé qui se trouve dans une liste déroulante.
Mais maintenant, j'ai un nouveau problème suite à ça.
Quand j'édite un employé, j'ai bien sa fonction, mais dans la liste elle apparaît deux fois.
Voici le code complet :
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
$fonctions_brute = mysql_query("SELECT fonction FROM fonction ORDER BY fonction ASC") or die(mysql_error());
<select name="fonctions">
<?php
	while($fonctions = mysql_fetch_array($fonctions_brute))
	{
		if($fonctions['fonction'] == $_GET['fonction'])
		{
			$selectedf = ' selected';
?>
			<option name="fonctions" value="<?php echo $fonctions['fonction']; ?>"<?php echo $selectedf; ?>><?php echo $fonctions['fonction']; ?></option>
<?php
		}
?>
		<option name="fonctions" value="<?php echo $fonctions['fonction']; ?>"><?php echo $fonctions['fonction']; ?></option>
 
<?php
	}
?>
</select>
D'un côté ça me semble logique.
Je demande dans le if à ce qu'on m'affiche et sélectionne la fonction du gars, et en dehors qu'on me réaffiche toutes les fonctions y compris celle déjà affichée.
Alors j'ai voulu faire une restriction :
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
$fonctionr_brute = mysql_query("SELECT fonction FROM fonction WHERE fonction != '".$_GET['fonction']."'") or die(mysql_error());
$fonctionr = mysql_fetch_array($fonctionr_brute);
<select name="fonctions">
<?php
	while($fonctions = mysql_fetch_array($fonctions_brute))
	{
		if($fonctions['fonction'] == $_GET['fonction'])
		{
			$selectedf = ' selected';
?>
			<option name="fonctions" value="<?php echo $fonctions['fonction']; ?>"<?php echo $selectedf; ?>><?php echo $fonctions['fonction']; ?></option>
<?php
		}
?>
		<option name="fonctions" value="<?php echo $fonctionr['fonction']; ?>"><?php echo $fonctionr['fonction']; ?></option>
 
<?php
	}
?>
</select>
Dans la requête je veux qu'on prenne toutes les entrées sauf celle déjà affichée, et je l'ai mise dans le 2è option.
Mais à la place du résultat attendu, il m'affiche toute une liste portant le même nom (60 fois la même fonction).
Est-ce que vous auriez une idée ?
Merci de votre aide