J'utilise des listes déroulantes pour afficher des données dans un formulaire, à partir d'une base de données.
Les listes doivent afficher le bon élément, en accord avec ce qu'il y a dans la bdd.
Actuellement, j'utilise une variable $etat qui vaut "selected" ou "", comme ceci
echo "<select name='Maliste'>";
echo "<option". $etat_bleu . ">bleu</option>";
echo "<option". $etat_rouge . ">rouge</option>";
echo "<option". $etat_rouge . ">jaune</option>";
echo "</select>";
je suis obligé de tester chaque résultat de la requête pour savoirquel élément de la liste activer:
if ($resultat_sql=="bleu") $etat_bleu ="selected" else $etat_bleu="";
if ($resultat_sql=="rouge") $etat_rouge ="selected" else $etat_rouge="";
if ($resultat_sql=="jaune") $etat_jaune ="selected" else $etat_jaune="";
Vous vous doutez que c'est long et fatiguant. ça me donne envie de faire
echo "<select name='Maliste' selected='" . $resultat_sql . "'>";
echo "<option>bleu</option>";
echo "<option>rouge</option>";
echo "<option>jaune</option>";
est-ce possible? ou connaissez vous des astuces pour raccourcir le code de la liste?Merci pour vos réponses.