Hola buenas tengo un problema con un programa en PHP / MyQL en el cual cargo las fechas (de tabla vacaciones) en un array utilizando un WHILE y posteriormente lanzo un bucle FOR para que recorre desde una fecha origen a una fecha destino que yo especifique a traves del formulario con intencion de que me separe los dias habiles de los fines de semana y festivos
El problema es que el FOR solo coje el primer registro que tengo en la base de datos MYSQL de la tabla vacaciones y para, los sabados/domingos funcionan perfectamente, pero realmente el WHILE carga todos los registros ya que si los muestro con un echo los saca todos.
Código:
<?php
include "conexion.php";
$fecha1=$_POST['data1'];
$fecha2=$_POST['data2'];
$fecha1 = strtotime($fecha1);
$fecha2 = strtotime($fecha2);
$Cont2=0;
$cont=0;
$diasfestivos=0;
//RESTA FECHAS
$segundos=($fecha2) - ($fecha1) ;
$diferencia_dias=intval($segundos/60/60/24);
$diferencia_dias2=$diferencia_dias+1;
echo "<h3><br><font color=purple>La cantidad de días entre las 2 fechas son : <b>$diferencia_dias2</b> </font><br><br></h3>" ;
//SELECCIONAR DIAS FESTIVOS DE LA TABLA
$festivo=mysql_query ("SELECT Fecha FROM tab_vacaciones;",$conexion);
if ($festivo!=0)
{
while ($solucion=mysql_fetch_array($festivo))
{
$diasfestivos=$solucion[0];
$cont=$cont+1;
$diasfestivos=strtotime($diasfestivos);
// BUQLE FECHAS
for($fecha1;$fecha1<=$fecha2;$fecha1=strtotime('+1 day ' . date('Y-m-d',$fecha1)))
{
if((s
) AND (strcmp(date('D',$fecha1),'Sat')!=0) AND ($fecha1!=$diasfestivos))
{
echo "<br>";
echo date('Y-m-d D',$fecha1);
echo "<font color=blue>--NO HAY DIAS FESTIVOS NI FINES DE SEMANA</font><br><br>";
echo "<br>";
// FALTA -- INSERT INTO tab_datos VALUES ();
}
ELSE
{
echo date('Y-m-d D',$fecha1);
echo "--<font color=red>FIN DE SEMANA O FESTIVO:</font><br> ";
$Cont2=$Cont2+1;
echo "<br>";
echo "<br>";
}
}
echo "<font color=purple><b><table><tr><td>Dia Festivo </font>:</b> " .$solucion[0]. "/<br>" ;
echo "<br>";
}
}
?>
Imagen de la ejecucion