Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/02/2012, 18:55
Avatar de JaimeMSE
JaimeMSE
 
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 14 años, 1 mes
Puntos: 7
Respuesta: Problema con fechas, base de datos y un for

Cita:
Iniciado por andresdzphp Ver Mensaje
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.
Muchas gracias, me ha funcionado correctamente :).

Una duda, ¿por qué usas comillas simples en vez de dobles, por ejemplo, en los echo?
__________________
@JaimeMSE - ¡Sígueme!