OVH Cloud OVH Cloud

Boucle PHP dans un select

2 réponses
Avatar
tous69
Bonjour

J'ais fait une boucle dans un select pour que celui-ci m'affiche les
années correspondants à un age de 18 ans à 70 ans . Le problème que je
rencontre est qu'il y a une ligne blanche entre chaque année.

Quelqu'un peut il m'aidé.

D'avance merci


<FORM name="form-u2" action="" method=post >
<select size="1" name="jour_mme" value="">
<option><selected></option>
<?
$année = date("Y") ; $maj = 18 ; $max = 70 ; $date_mini = $année -$maj ;
$date_max = $année -$max ;
$i= $date_mini ;
while ( $i <> $date_max ){

echo'<option>' . $i .'<option>' ;
$i=$i-1 ;
}
?>
</select>&nbsp;
</form>

Tous 30 @ libre

2 réponses

Avatar
Florian Sinatra
*tous69* @ 31/05/2006 20:32 :
<FORM name="form-u2" action="" method=post >


Là t'as oublié des guillemets. ^^^^^^

<select size="1" name="jour_mme" value="">
<option><selected></option>


C'était quoi ça ?

<?


<?php vaut mieux.

$année = date("Y") ; $maj = 18 ; $max = 70 ; $date_mini = $année -$maj ;
$date_max = $année -$max ;
$i= $date_mini ;


Ca fait un peu beaucoup de variables pour si peu.

while ( $i <> $date_max ){

echo'<option>' . $i .'<option>' ;


Là ^^^^^

$i=$i-1 ;


$i--; c'est plus joli

}
?>
</select>&nbsp;


Pourquoi cet espace insécable ?

</form>


Si tu vérifiais ou validais le code pondu ? Tu as oublié de fermer ta
balise <option>. Le navigateur considère donc qu'il y en a deux à chaque
boucle. Connaître PHP c'est bien, mais HTML aussi.

A propos de boucle, une for serait plus indiquée :

for($i = $année-70; $i >= $année-18; $i--) {
echo '<option>$i</option>';
}

Cordialement.

Avatar
Serge Paccalin
Le mercredi 31 mai 2006 à 20:32:38, tous69 a écrit dans
fr.comp.lang.php :

Le problème que je rencontre est qu'il y a une ligne blanche
entre chaque année.

echo'<option>' . $i .'<option>' ;


echo'<option>' . $i .'</option>' ;

--
___________ 31/05/2006 20:46:46
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Pour bien répondre avec Google, ne pas cliquer
-'(__) « Répondre », mais « Afficher les options »,
_/___(_) puis cliquer « Répondre » (parmi les options).