Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Insertar Array de Fechas en MySql

Estas en el tema de Insertar Array de Fechas en MySql en el foro de PHP en Foros del Web. Estimados, tengo el siguiente problema. Tengo un form, en el cual debo ingresar una fecha de inicio y una de termino, estoy trabajando con CodeIgniter, ...
  #1 (permalink)  
Antiguo 11/01/2016, 07:05
 
Fecha de Ingreso: julio-2015
Ubicación: Temuco, Chile
Mensajes: 15
Antigüedad: 8 años, 9 meses
Puntos: 0
Insertar Array de Fechas en MySql

Estimados, tengo el siguiente problema.

Tengo un form, en el cual debo ingresar una fecha de inicio y una de termino, estoy trabajando con CodeIgniter, y la idea, es ingresar solamente las fechas de Lunes a Viernes, para saber toda esta información lo realizo dentro de un Controlador de la siguiente manera:

Código PHP:
    public function Generar(){

        
$this->load->model('trimestre');

        
$calendario = array();

        
$fechaInicio strtotime($this->input->post('ini',TRUE));
        
$fechaFin strtotime($this->input->post('term',TRUE));

        
        
        
$semana=1;

        
$diasemana date'w'$fechaInicio );                                    /* Se comprueba a qué día de la     */
                                                                                /* semana corresponde la fecha      */
                                                                                /* de inicio                        */
        
if ($diasemana == 0) {                                                    /* Si es sábado o domingo              */
            
$fechaInicio += 86400;                                                /* automáticamente modifica           */
        
} elseif ($diasemana == 6) {                                            /* la fecha de inicio al               */
            
$fechaInicio += 172800;                                                /* siguiente Lunes                       */
        
}

        if (
$diasemana && $diasemana 6) {                                         /* Si la fecha de inicio            */
            
for ($i=1;$i<=$diasemana 1$i++) {                                        /* corresponde a un día entre         */
                
$calendario[$semana][$i] = "-";                                            /* Martes y Viernes rellena los     */
            
}                                                                            /* espacios del array que hagan     */
        
}                                                                                /* falta con guión para completar     */
                                                                                        /* hasta el Lunes anterior            */
        
for($i=$fechaInicio$i<=$fechaFin$i+=86400) {                                /* avanzamos de a 1 dia                */
                                                                                        /* 1 dia = 86400 segundos             */
            
$diasemana date'w'$i );                                                /* Obtenemos el dia de semana        */
                                                                                        /* como numero, tal que:            */
                                                                                        /* Domingo = 0                        */
                                                                                        /* Lunes = 1... Sabado = 6             */
            
if(($diasemana >= 1) && ($diasemana <=)) {                                /* Solo agregamos los dias Lunes     */
                                                                                        /* Martes, Miercoles, Jueves y         */
                                                                                        /* Viernes                             */
                
$calendario$semana ][ $diasemana ] = $i;                                /* Obtenemos el calendario en        */
                
$fecha date('d/m/Y',$calendario[$semana][$diasemana]);
                
$this->trimestre->IngresaTrimestre($fecha);
                
/*echo date('d/m/Y',$calendario[$semana][$diasemana]). "<br>";            /* formato numerico STR                */
            
}                                                                            /* [Semana] [Dia Semana] = Fecha     */
            
if($diasemana == 6) {                                                        /* cada vez que lleguemos al        */
                
$semana++;                                                                /* ultimo dia de la semana            */
            
}                                                                            /* aumentamos las semanas.            */

        
}


        
/*$FechasTrim = $this->trimestre->getTrimestre();


        /*$this->load->view('Preparacion_Trimestre_View',$FechasTrim);*/

    
}

entonces mediante $this->trimestre->IngresaTrimestre($fecha); envio la informacion al siguiente controlador

Código PHP:
    function IngresaTrimestre($fecha){

        
$data = array('Dia' => $fecha);

        echo 
'<pre>';
            
var_dump($data);
        echo 
'</pre>';

        
$this->db->insert('Trimestre'$data);

    } 
Con el var_dump obtengo lo siguente:

Código HTML:
array(1) {
  ["Dia"]=>
  string(10) "01/01/2016"
}

array(1) {
  ["Dia"]=>
  string(10) "04/01/2016"
}

array(1) {
  ["Dia"]=>
  string(10) "05/01/2016"
}

array(1) {
  ["Dia"]=>
  string(10) "06/01/2016"
}

array(1) {
  ["Dia"]=>
  string(10) "07/01/2016"
}

array(1) {
  ["Dia"]=>
  string(10) "08/01/2016"
}

array(1) {
  ["Dia"]=>
  string(10) "11/01/2016"
}
Pero en PHPmyAdmin obtengo lo siguiente:

Código HTML:
 Dia 	Disponible 	
0000-00-00 	1
0000-00-00 	1
0000-00-00 	1
0000-00-00 	1
0000-00-00 	1
0000-00-00 	1
0000-00-00 	1
0000-00-00 	1
La tabla 'Trimestre' solo tiene 2 campos 'Dia' donde debo ingresar la fecha, y 'Disponible' que es un booleano donde identifico los dias disponibles para utilizar. No comprendo cual puede ser el error
  #2 (permalink)  
Antiguo 11/01/2016, 07:13
 
Fecha de Ingreso: enero-2016
Mensajes: 71
Antigüedad: 8 años, 3 meses
Puntos: 14
Respuesta: Insertar Array de Fechas en MySql

El formato de tu fecha, prueba con:
Código PHP:
$fecha date('Y-m-d'$calendario[$semana][$diasemana]); 
  #3 (permalink)  
Antiguo 11/01/2016, 07:16
 
Fecha de Ingreso: julio-2015
Ubicación: Temuco, Chile
Mensajes: 15
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Insertar Array de Fechas en MySql

Justo despues de publicar, cambie el formato de la fecha por eso, y ahora funciona de maravillas jajaja muchas gracias amigo!

SOLUCIONADO!

Etiquetas: fecha, mysql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:48.