Page 1 sur 1

Liste déroulante selected avec une bdd

Posté : 11 juin 2010, 12:26
par ferv21
Bonjour
Je suis entrain de chercher une solution pour ma liste déroulante qui doit prendre une valeur par défaut en fonction du résultat de ma base de donnée.
Ce que je voudrais réaliser c'est par exemple mettre la valeur du champ de ma bdd par défaut sur la liste déroulante.
<select name="allum" type="select">
	        
<option value="<?php echo $row->etat; ?>" <?php echo($row->etat ? " selected=\"selected\"" : NULL); ?>> <?php echo($row->etat ? 'Allumer' : NULL); ?> </option>
<option value="<?php echo ($row->etat ? "1" : NULL ); ?>">Eteindre</option>	        

            
            </select>
J'utilise mysql_fetch_object.
Dans la base de donnée, le champ "etat" vaut 1 par défaut.
moi ce que je veux faire, c'est montrer à l'utilisateur que c'est allumer et également qu'il puisse éteindre avec la liste déroulante.
Je n'arrive pas à avancer pouvez vous m'aider svp?
Merci beaucoup

Re: Liste déroulante selected avec une bdd

Posté : 12 juin 2010, 21:45
par Ryle
Il te faut lister toutes tes options et ajouter l'attribut selected dans l'option à pré-sélectionner :
<select name="allum">
  <option value="1" <?php echo ($row->etat == 1) ? 'selected="selected"' : ''); ?>> Allumé </option>
  <option value="0" <?php echo ($row->etat == 0) ? 'selected="selected"' : ''); ?>> Eteint </option>
</select>

Re: Liste déroulante selected avec une bdd

Posté : 19 juin 2010, 13:12
par ferv21
Effectivement ca marche,
J'avais utilisé la même méthode sauf que j'ai fait comme ceci:
	        
<option value="1" 
<?php if($row->etat == '1'){ echo 'selected = "selected"';} ?>> 
<?php if($row->etat == '1'){ echo 'Allumer';}  else { echo 'Allumer';} ?> </option>
 
<option value="0"
<?php if($row->etat == '0'){ echo 'selected = "selected"';} ?>>
<?php if($row->etat == '0'){ echo 'Eteindre';} else { echo 'Eteindre';} ?> </option>          
            </select>
Votre méthode est plus courte, et c'est mieux ^^
Merci en tout cas
Cordialement