Hola a todos espero que esten bien. bueno esta vez paso por que tengo un problema con lo que es un contador de dias habiles o laborales, el codigo ya lo tengo hecho y todo me da bien el problema es la fecha en la que inicia el conteo de dias habiles. la fecha la traigo de una consulta de la base de datos mysql y no es una fecha si no varias ya que son varios registros que se encuentran en la tabla donde consulto la fecha inicial, lo que necesito es que recorra el campo donde se encuentra la fecha inicial para uno por una ir detectanto con el codigo que tengo los dias habiles correpondientes a esa fecha y asi mostrar los datos en un tabla por ejemplo:
fecha inicial dias habiles
fecha 1 dias
fecha 2 dias y asi...
aqui les dejo como tengo el codigo.
Código PHP:
mysql_select_db($database_cx, $cx);
$query_alertas = sprintf("SELECT r.*, CONCAT(usuario.nombres,' ', usuario.apellidos) as Registro, group_concat(DISTINCT(doc.nombre_corto)) as doc, DateDiff(r.fecha_radicado, '$fecha' ) as dif from usuario, (radicado r left join documento_radicado as radi on r.id_radicado = radi.id_radicado) left join documento as doc on (radi.id_documento = doc.id_documento) and (radi.estado = doc.estado)
WHERE r.estado = 1 and
r.id_usuario = usuario.id_usuario and
r.formulario <> 'completo' and
r.fecha_radicado between '2007-01-01' and '$fecha' ".$m."
group by r.id_radicado desc ");
$alertas = mysql_query($query_alertas, $cx) or die(mysql_error());
$row_alertas = mysql_fetch_assoc($alertas);
//while ($row_alertas = mysql_fetch_assoc($alertas)){
$data=split("-",$row_alertas['fecha_radicado']);//fecha radicado es la que necesito que recorra para poder hacer el mismo calculo con las otras fechas
$e= $data[1]."-".$data[2]."-".$data[0];
//}
$fechaInicial = mktime(0,0,0,$data[1],$data[2],$data[0]);
$lapso = 30;// dias habiles
$diasTrans = 0; // dias transcurridos
$diasHabiles = 0;
$feriados = array("1-1","19-4","1-5","18-5","02-11","25-12");
while($diasHabiles<($lapso+1))
{ $fecha = $fechaInicial+($diasTrans*86400);
$diaSemana = getdate($fecha);
if($diaSemana["wday"]!=0 && $diaSemana["wday"]!=6)
{ $feriado = $diaSemana['mday']."-".$diaSemana['mon'];
if(!in_array($feriado,$feriados))
{ $diasHabiles++; }
}
$diasTrans++;
}
$fechaFinal = $fechaInicial+(($diasTrans-1)*86400);
echo "<br /><br /><b>Entrega:".date("l d-F-Y",$fechaFinal)."</b>";
if($totalRows_alertas == 0){
$men ="No tiene alertas actualmente";
$dia = "";
$row_alertas['dif'] = " ";
}else{
$dia="dia(s)";
$row_alertas['dif']=$row_alertas['dif'];
}
while ($todo = $row_alertas['Registro']) {
//asi obtienes los datos de un campo
if($todo == "Adrian Herrera"){
$imagen = 'naranja.gif';
}else{
$imagen = 'rojo.gif';
}
//repetir segun sea necesario
}
?>
muchas gracias por su atencion