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 > 1 && $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 <=5 )) { /* 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);*/
}
}
Código PHP:
function IngresaTrimestre($fecha){
$data = array('Dia' => $fecha);
echo '<pre>';
var_dump($data);
echo '</pre>';
$this->db->insert('Trimestre', $data);
}
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" }
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
![U_U](http://static.forosdelweb.com/fdwtheme/images/smilies/nods.png)