<?php
    for($i = 01; $i <= 31; $i++) {
        echo '<option value="'.PHP_EOL;
        echo $i;
        echo '">'.PHP_EOL;
        echo $i;
        echo '</option>'.PHP_EOL;
    }

Als ik deze code weergeef geeft hij bijv 8 weer ipv 08

edit php tags ingezet voor inkleuring
Komt omdat je in PHP met integers werkt en daar horen geen voorloopnullen bij. De voorloopnul is enkel iets dat met de output te maken heeft, en pas daar ga je het ook toepassen:
<?php
$int = 1;
echo sprintf('%02d', $int);
?>
Ik wil een geboortedatum in de database zetten.
In een date veld wel te verstaan.

Hebben jullie een betere oplossing dan mijn code ?

<select name="dag">
<?php
    for($i = 01; $i <= 31; $i++) {
        echo '<option value="'.PHP_EOL;
        echo $i;
        echo '">'.PHP_EOL;
        echo $i;
        echo '</option>'.PHP_EOL;
    }
?>
</select>&nbsp;
<select name="maand">
<option value="01">Januari</option>
<option value="02">Februari</option>
<option value="03">Maart</option>
<option value="04">April</option>
<option value="05">Mei</option>
<option value="06">Juni</option>
<option value="07">Juli</option>
<option value="08">Augustus</option>
<option value="09">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>&nbsp;
<select name="jaar">
<?php
$vandaag = getdate();
$jaar = $vandaag['year'];
for($i = $jaar; $i >= 1960; $i--) {
	echo '<option value="'.PHP_EOL;
    echo $i;
    echo '">'.PHP_EOL;
    echo $i;
    echo '</option>'.PHP_EOL;
}
?>
Op zich is dat een hele goede manier RedCrew, vergeet alleen niet te controleren of het wel een geldige datum is, wanneer je de boel in je database op wil slaan.

Zelf gebruik ik eigenlijk ook zoiets, maar waarom haal je het jaar zo raar op?

$jaar = date('Y');


Dat doet het in 1 regel :)
dit is alleen het form gedeelte.

Voor de input in de database komt er nog een controle.

Waarom ik hte jaar zo raar ophaal. Ik heb mijn kennis compleet uit zelfstudie.
Maar ik heb ondertussen weer wat bijgeleerd :)
$jaar = date('Y');
Die for loop is ook iets omslachtig. Dit is wat eleganter:

<?php
    foreach (range (date('Y'), 1960) as $jaar) {
        echo PHP_EOL;
        echo '<option value="'.$jaar.'">'.$jaar.'</option>';
    }
?>

Reageren