Page 1 sur 1

Probleme avec les listes deroulantes en PHP

Posté : 09 avr. 2006, 09:09
par hello
bonjour

j'ai un petit soucis dans une routine
Je veux afficher dans une liste déroulante un certain nombre d'année
et mettre par défaut l'année en cours.
J'ai un probleme dans la selection, et j'ai beau chercher, je ne trouve pas

$aaaa="2006";

echo "<select name=aaaa>";
echo "<option selected> </option>";
for ($i=DATE("Y");$i<=DATE("Y")+2;$i++)  
{
echo "<option value=$i";
if ($aaaa==$i) echo " selected ";
echo ">$i</option>";
}
echo "</select>";
Merci par avance
hello

Posté : 09 avr. 2006, 09:40
par Ryle
Essaye en virant le selected de ta premiere option (qui est vide) :
"<option selected> </option>";

:)

Posté : 09 avr. 2006, 09:51
par Cyrano
Ça + une simplification :
<?php
$aaaa = "2006";

echo "<select name=\"aaaa\">\n";
echo "<option value=\"-1\">&nbsp;</option>\n";
for ($i = date("Y"); $i <= (date("Y")+2); $i++)
{
    $selected = ($i == $aaaa) ? " selected" : null;
    echo "<option value=\"$i\"". $selected .">$i</option>\n";
}
echo "</select>\n";
?>
Mais tu pourrais faire aussi :
<?php
$aaaa = "2006";
?>
<select name="aaaa">
  <option value="-1">&nbsp;</option>
<?php
for ($i = date("Y"); $i <= (date("Y")+2); $i++)
{
    $selected = ($i == $aaaa) ? " selected" : null;
?>
  <option value="$i"<?php echo($selected); ?>><?php echo($i); ?></option>
<?php
}
?>
</select>
C'est plus propre.

Posté : 09 avr. 2006, 11:02
par hello
MErci pour l'aide