Ten en cuenta que no todos los meses tienen 31 días, puedes hacer algo así:
Código PHP:
Ver original<?php
$fecha = strtotime('19-02-2012'); //aquí va tu fecha de la base de datos
$dias_mes = date('t', $fecha); $dia = date('j', $fecha); $mes = date('n', $fecha); $anio = date('Y', $fecha); ?>
Fecha nacimiento: <br />
<select name="dia">
<?php for ($i = 1; $i <= $dias_mes; $i++) {
if ($i == $dia) {
echo '<option value="' . $i . '" selected="selected">' . $i . '</option>' . PHP_EOL;
} else {
echo '<option value="'.$i.'">'.$i.'</option>' . PHP_EOL;
}
}
?>
</select>
<select name="mes">
<?php for ($i = 1; $i <= 12; $i++) {
if ($i == $mes) {
echo '<option value="' . $i . '" selected="selected">' . $i . '</option>' . PHP_EOL;
} else {
echo '<option value="'.$i.'">'.$i.'</option>' . PHP_EOL;
}
}
?>
</select>
<select name="anio">
<?php for ($i = 2012; $i >= 1990; $i--) {
if ($i == $anio) {
echo '<option value="' . $i . '" selected="selected">' . $i . '</option>' . PHP_EOL;
} else {
echo '<option value="'.$i.'">'.$i.'</option>' . PHP_EOL;
}
}
?>
</select>
PD: PHP_EOL se usa para que se vea correctamente el código fuente generado.
Saludos.