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 :
D'un côté ça me semble logique.
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>
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 :
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.
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>
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![]()
Partager