Page 1 sur 1

Incrémenter en gardant le zéro des unitées

Posté : 13 oct. 2009, 12:05
par Invité
Bonjour je voudrais faire une liste déroulante pour des heure de 00 à 23 voici mon code :

Code : Tout sélectionner

<?php echo "<SELECT name='F_heure_H' >"; for ($i="00"; $i<24; $i++) { echo "<OPTION>$i</OPTION>"; } echo "</SELECT>"; ?>
Ce que je voudrais corriger c'est afficher 01 au lieu de 1 autrement dit garder toujours 2 chiffres pour enregistrer par la suite dans une bdd.

y a t-il un moyen simple de faire ceci ? Sinon je créer une liste déroulante en "dur" mais je trouve ça moyen surtout que je doit créer la même liste pour mes minute :lol:

Re: Incrémenter en gardant le zéro des unitées

Posté : 13 oct. 2009, 12:13
par Victor BRITO
Procède comme suit :
<select name="F_heure_H">
<?php             
for ($i = 0; $i < 24; $i ++):
?>
  <option><?php echo ($i < 10)? '0'.$i: $i; ?></option>";
<?php
endfor;
?>
</select>

Re: Incrémenter en gardant le zéro des unitées

Posté : 13 oct. 2009, 13:35
par @rthur
Bonjour,

La solution de Victor est correcte, sinon il y a aussi la possibilité d'utiliser sprintf :
http://fr.php.net/sprintf
<?php			 	
echo "<SELECT name='F_heure_H' >";
for ($i=0; $i<24; $i++) 
{
echo "<OPTION>".sprintf("%02d", $i)."</OPTION>";
}
echo "</SELECT>"; 
?>

Re: Incrémenter en gardant le zéro des unitées

Posté : 13 oct. 2009, 14:45
par Invité
Merci pour le sprintf ...
ça marche niquel je ne connaissait pas