Sélectionner une valeur dans plusieurs listes déroulantes

  • Auteur de la discussion Auteur de la discussion sff
  • Date de début Date de début
WRInaute impliqué
Bonjour,

Je possède un petit code php qui me permet d'afficher 5 listes déroulantes :

Code:
		$list_equips1 = '<option value="0">Laisser vide</option>';

		$equipsquery = mysql_query("SELECT id, name FROM ".$mysql->pref."_equips ORDER by name ASC");
		while ($equipsrow = mysql_fetch_assoc($equipsquery)) {
	
			$list_equips1 .= '<option value="'.$equipsrow['id'].'">'.$equipsrow['name'].'</option>';
		}
		
		$list_equips2 = '';
		
		for ($i=1; $i<=5; $i++)
		{		
			$list_equips2 .= 'Equip. '.$i.' : <select name="list_equips_'.$i.'">'.$list_equips1.'</select><br><br>';
		}

echo $list_equips2;

Mais j'ai un petit problème. J'aimerais sélectionner dans chacune des listes déroulante une valeur avec ceci : selected="selected"

J'ai une variable :

$list_items = '78,79,50,0,0';

78 est la valeur a sélectionner dans la première liste
79 est la valeur a sélectionner dans le deuxième liste
etc...

Mais je vois pas comment je peux sélectionner à cause de la boucle.

Quelqu'un peut-il m'aider ?

Merci d'avance
 
WRInaute passionné
Tu teste si la valeur affichée dans ta liste est celle qui doit être sélectionnée : si oui, tu initialise une variable comme celle-ci par exemple :

Code:
$selected = 'selected="selected"';

En reprenant ton code :

Code:
  $list_equips1 = '<option value="0">Laisser vide</option>';

      $equipsquery = mysql_query("SELECT id, name FROM ".$mysql->pref."_equips ORDER by name ASC");
      while ($equipsrow = mysql_fetch_assoc($equipsquery)) {
   
// Tu test ta valeur avec un if
if ($equipsrow['id'] == $maValeurSelect) {
$selected = ' selected="selected"';
} else {
$selected = NULL;
}

$list_equips1 .= '<option value="'.$equipsrow['id'].$selected'">'.$equipsrow['name'].'</option>';
      }
      
      $list_equips2 = '';
      
      for ($i=1; $i<=5; $i++)
      {      
         $list_equips2 .= 'Equip. '.$i.' : <select name="list_equips_'.$i.'">'.$list_equips1.'</select><br><br>';
      }

echo $list_equips2;

J'espère avoir bien compris ta question et surtout bien y avoir répondu ;)

Si tu dois séparer ta variable,

$list_items = '78,79,50,0,0';

Sert toi d'un explode.
 
WRInaute impliqué
Merci de ton aide, mais j'ai déjà essayé cette solution, et c'est pas la bonne. Je cherche toujours désespérement
 
Discussions similaires
Haut