Affichage dans un select avec highlight

Résolu/Fermé
roussos Messages postés 221 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 17 décembre 2014 - 30 août 2011 à 17:45
roussos Messages postés 221 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 17 décembre 2014 - 31 août 2011 à 05:58
Bonjour,

je voudrais "highlighter" (mettre en valeur) les valeurs d'une liste déroulante (multiselection provenant d'une requête SQL).

En fait j'ai une liste utilisateur que j'utilise dans un formulaire et dont je gère l'insertion des utilisateurs multiples.
les valeurs insérées sont séparées par une virgule donc j'utilise un tableau + un expand pour récupérer chaque valeur.

je voudrais lors de la modification faire une vérification de la liste multiple et comparer s'il existe deja dans la table (les mettre en valeur).

exemple
<td align="left"><select name="listeusers[]" multiple id="listeusers">
        <?php
mysql_connect("localhost","login","pass");
mysql_select_db("matable");
$res = mysql_query("SELECT * FROM user ORDER BY nom");
  while($row = mysql_fetch_assoc($res)){
  $tab['user'] = $result->listeusers;
 //resultat d'une autre requete qui me sert à faire la vérification
  echo "<option value='".$row['iduser']."'>".$row['nom']."</option>";
  $id8 = explode(',',$tab['user']);
  foreach($id8 as $iduser){
   
 	if( $iduser == $row['iduser']) {
	echo "<option value='".$row['iduser']."' selected>".$row['nom']."</option>";
	}
	else {
	echo "<option value='".$row['iduser']."'>".$row['nom']."</option>";
  }
 
 }
 }
?>
      </select></td>

ce code fonctionne mais j'ai un problème de doublon qui affiche toutes les valeurs multipliés par le cycle de la boucle foreach...

Merci d'avance pour votre aide.
Bonne fin de journée.

1 réponse

J'arrive pas à comprendre le prblm mais je vrois que t'as deja une erreur
c "$tab['user'] = $row->listeusers;" à la place de "$tab['user'] = $result->listeusers;"
0
roussos Messages postés 221 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 17 décembre 2014 8
30 août 2011 à 18:28
Bonsoir Mizamiza,
en fait il n'y a pas d'erreur
la valeur "$tab['user'] = $result->listeusers;" provient d'une autre requête que j'utilise pour faire la vérification dans la boucle foreach....
0
ah ok , et ton prblm est reglé? sinn peux tu m'expliquer plus que veux tu dire par "les valeurs multipliés par le cycle de la boucle foreach... "
0
roussos Messages postés 221 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 17 décembre 2014 8
31 août 2011 à 05:58
Non pas encore réglé...
en fait la boucle "foreach" répété les valeurs du la liste déroulante en fonction de la taille du tableau.
exemple : si le tableau a 3 valeurs, alors chaque valeur de la liste déroulante sera affichée trois fois c'est en fait ça que je veux éviter... mais je ne peux pas me passer de la boucle for....
0