Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/02/2012, 14:02
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Problema con fechas, base de datos y un for

Ten en cuenta que no todos los meses tienen 31 días, puedes hacer algo así:

Código PHP:
Ver original
  1. <?php
  2. $fecha = strtotime('19-02-2012'); //aquí va tu fecha de la base de datos
  3.  
  4. $dias_mes = date('t', $fecha);
  5. $dia = date('j', $fecha);
  6. $mes = date('n', $fecha);
  7. $anio = date('Y', $fecha);
  8. ?>
  9.  
  10. Fecha nacimiento: <br />
  11.  
  12. <select name="dia">
  13. <?php for ($i = 1; $i <= $dias_mes; $i++) {
  14.     if ($i == $dia) {
  15.         echo '<option value="' . $i . '" selected="selected">' . $i . '</option>' . PHP_EOL;
  16.     } else {
  17.         echo '<option value="'.$i.'">'.$i.'</option>' . PHP_EOL;
  18.     }
  19. }
  20. ?>
  21. </select>
  22.  
  23. <select name="mes">
  24. <?php for ($i = 1; $i <= 12; $i++) {
  25.     if ($i == $mes) {
  26.         echo '<option value="' . $i . '" selected="selected">' . $i . '</option>' . PHP_EOL;
  27.     } else {
  28.         echo '<option value="'.$i.'">'.$i.'</option>' . PHP_EOL;
  29.     }
  30. }
  31. ?>
  32. </select>
  33.  
  34. <select name="anio">
  35. <?php for ($i = 2012; $i >= 1990; $i--) {
  36.     if ($i == $anio) {
  37.         echo '<option value="' . $i . '" selected="selected">' . $i . '</option>' . PHP_EOL;
  38.     } else {
  39.         echo '<option value="'.$i.'">'.$i.'</option>' . PHP_EOL;
  40.     }
  41. }
  42. ?>
  43. </select>

PD: PHP_EOL se usa para que se vea correctamente el código fuente generado.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP