PHP - Conserver etat d'une liste déroulante

Fermé
Vesper Messages postés 9 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 8 août 2008 - 8 août 2008 à 15:11
 Vesper- - 14 août 2008 à 14:18
Bonjour,
Alors léger blocage pour lequel j'espère avoir une réponse des esprits brillants et culturés qui se trouvent parmi vous (tentons l'approche flatteuse..).

J'ai une liste déroulante alimentée par une base de données qui entrent comme étant un critère de recherche et j'aurais voulu savoir comment faire pour pouvoir conserver la ligne selectionnée après avoir appuyé sur le maudit submit !
Mon code :

$reponse = mysql_query("SELECT distinct push FROM push");
echo "<select name=\"push\" size=\"1\" maxlength=\"30\">";
print "<OPTION value=\"".$_GET['push']."\" selected>".$_GET['push']."</option>";
while ($donnees = mysql_fetch_array($reponse))
{
?>
<option
value="<?php $donnees['push']; print $donnees['push'];?>"><?php echo $donnees['push'];?>
</option>
<?php
}
?>
</select>

Le souci c'est que ca m'ajoute une ligne qui existe déjà donc j'me retrouve avec deux lignes contenant la même information..

Merci de votre aide,

A bientot.
A voir également:

2 réponses

C'est bon j'ai trouvé la réponse pour ceux que ca pourrait aider :

<option
value="<?php echo $donnees['push'];?>" <?php if (!empty($_GET['push'])) {if ($_GET['push']==$donnees['push']) print("selected");} ?>><?php echo $donnees['push'];?>
</option>
1
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330
8 août 2008 à 15:46
J'avais eu besoin de faire un truc du genre également. Je viens d'aller voir comment j'ai fait, en fait j'ai carrément lancé un str_replace pour afficher le "selected" de la liste.
Voilà le code :
Nombre de tests : 
<select name="nb" onchange="this.form.submit()">
<?php
//Conservation du nombre de tests
$contenu_liste="<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option><option>10</option></select>";
$contenu_liste=str_replace("<option>$nb</option>","<option selected>$nb</option>",$contenu_liste);
echo $contenu_liste;
?>
</select>
C'est peut être pas super propre, mais ça fonctionne. Sinon tu as aussi les cookies ou les sessions.
0