Ver Mensaje Individual
  #8 (permalink)  
Antiguo 24/09/2015, 16:51
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: Error insertando valores de una fecha desde formulario.

Todo pareceria estar correcto, quizas tengas un problema con los datos que vienen de la base de datos, es decir, antes del codigo publicado.

En este ejemplo basado en tu codigo puedes ver que funciona correctamente en ambos casos.
Código PHP:
Ver original
  1. <?php  
  2. $fecha_de_nacimiento = "1998-10-15"; // Esto saldria de la bd.
  3. $santo = "1998-10-15"; // Esto saldria de la bd.
  4.  
  5. // Ahora obtenemos cada parte por separado:
  6. $fecha_de_nacimiento = explode("-", $fecha_de_nacimiento);
  7. $santo = explode("-", $santo);
  8.  
  9. // Meses.
  10. $meses = array('Mes', 'Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio', 'Agosto','Septiembre','Octubre','Noviembre','Diciembre');
  11.  
  12. ?>
  13. <label>Fecha de nacimiento: </label>
  14.  
  15. <select id="dia_nacimiento" name="dia_nacimiento">    
  16.     <option value="">Día: </option>
  17. <?php
  18. $selected = (empty($fecha_de_nacimiento[2]) ? 0 : $fecha_de_nacimiento[2]);
  19. for ($i=1; $i<32; $i++)
  20.     echo "<option value=\"$i\" ".($i == $selected ? "selected" : "").">$i</option>";
  21. ?>
  22. </select>
  23.  
  24. <select id="mes_nacimiento" name="mes_nacimiento">  
  25. <?php          
  26.     $selected = (empty($fecha_de_nacimiento[1]) ? 0 : $fecha_de_nacimiento[1]);
  27.     foreach ($meses as $nro => $mes) {
  28.         echo "<option value=\"$nro\" ".($nro == $selected ? "selected" : "").">$mes</option>";    
  29.     }
  30. ?>
  31. </select>  
  32.  
  33. <select id="ano_nacimiento" name="ano_nacimiento">
  34.     <option value="">Año: </option>
  35. <?php      
  36.     $selected = (empty($fecha_de_nacimiento[0]) ? 0 : $fecha_de_nacimiento[0]);
  37.     for ($i=1930; $i<2002; $i++)
  38.         echo "<option value=\"$i\" ".($i == $selected ? "selected" : "").">$i</option>";
  39. ?>  
  40. </select>
  41. <hr>
  42. <label>Fecha del santo: </label>
  43. <select id="dia_santo" name="dia_santo">    
  44.     <option value="">Día: </option>
  45. <?php        
  46. $selected = (empty($santo[2]) ? 0 : $santo[2]);
  47. for ($i=1; $i<32; $i++)
  48.     echo "<option value=\"$i\" ".($i == $selected ? "selected" : "").">$i</option>";
  49. ?>
  50. </select>
  51.  
  52. <select id="mes_santo" name="mes_santo">    
  53. <?php          
  54.     $selected = (empty($santo[1]) ? 0 : $santo[1]);
  55.     foreach ($meses as $nro => $mes) {
  56.         echo "<option value=\"$nro\" ".($nro == $selected ? "selected" : "").">$mes</option>";    
  57.     }
  58. ?>
  59. </select>
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios