Hola buenas tardes, No hace mucho publique el mismo tema, en el cual nada más una persona me ayudo, en cual tenía el problema con un calendario PHP en el cual se asignaban tareas, el problema era que se hacia en un horario, por tablas en html, en donde por ejemplo yo tengo un evento me muestra mis horas, y se evalua el evento cuantas horas requiere y se colorean las tablas de mi horario si pro ejemplo mi evento requiere dos se cambia la hora 9:00 AM y 10:00 AM pero cuando se tienen dos eventos diferentes en el mismo día sólo me marca el último evento asignado, espero me puedan ayudar, dejo fragmento del código en el cual estoy trabajando.
Código PHP:
$fecha_calendario=array();
if ($_GET["mes"]=="" || $_GET["anio"]=="") {
$fecha_calendario[1]=intval(date("m"));
if ($fecha_calendario[1]<10) $fecha_calendario[1]="0".$fecha_calendario[1];
$fecha_calendario[0]=date("Y");
} else {
$fecha_calendario[1]=intval($_GET["mes"]);
if ($fecha_calendario[1]<10) $fecha_calendario[1]="0".$fecha_calendario[1];
else $fecha_calendario[1]=$fecha_calendario[1];
$fecha_calendario[0]=$_GET["anio"];
}
$fecha_calendario[2]="01";
$primeromes=date("N",mktime(0,0,0,$fecha_calendario[1],1,$fecha_calendario[0]));
if (($fecha_calendario[0] % 4 == 0) && (($fecha_calendario[0] % 100 != 0) || ($fecha_calendario[0] % 400 == 0))) $dias=array("","31","29","31","30","31","30","31","31","30","31","30","31");
else $dias=array("","31","28","31","30","31","30","31","31","30","31","30","31");
$eventos=array();
$query="select * from tcalendario where month(fecha)='".$fecha_calendario[1]."' and year(fecha)='".$fecha_calendario[0]."'";
mysql_select_db($dbname);
$resultado=mysql_query($query);
if($fila=mysql_fetch_array($resultado)){
$posicion=0;
do{
$eventos[$posicion]["id"]=$fila["id"];
$eventos[$posicion]["fecha"]=$fila["fecha"];
$eventos[$posicion]["evento"]=$fila["evento"];
$eventos[$posicion]["folio"]=$fila["folio"];
$eventos[$posicion]["horas_requeridas"]=$fila["horas_requeridas"];
$posicion+=1;
}while($fila=mysql_fetch_array($resultado));
}
$meses=array("","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
$diasantes=$primeromes-1;
$diasdespues=42;
$tope=$dias[intval($fecha_calendario[1])]+$diasantes;
if ($tope%7!=0) $totalfilas=intval(($tope/7)+1);
else $totalfilas=intval(($tope/7));
echo "<h2>Actividades de pedro en el mes de ".$meses[intval($fecha_calendario[1])]." de ".$fecha_calendario[0]."</h2>";
if (isset($mostrar)) echo $mostrar;
echo "<table class='calendario' cellspacing='0' cellpadding='0'>";
echo "<tr><th>Lunes</th><th>Martes</th><th>Miércoles</th><th>Jueves</th><th>Viernes</th><th>Sábado</th><th title='No se trabaja'>Domingo</th></tr><tr>";
$tr=0;
$dia=1;
for ($i=1;$i<=$diasdespues;$i++){
if ($tr<$totalfilas){
if ($i>=$primeromes && $i<=$tope) {
echo "<td class='";
if ($dia<=9) $dia_actual="0".$dia; else $dia_actual=$dia;
$fecha_completa=$fecha_calendario[0]."-".$fecha_calendario[1]."-".$dia_actual;
$title="";
$unix_time = mktime(0,0,0,$fecha_calendario[1],$dia_actual,date('Y'));
$domingo = date('N',$unix_time);
if($domingo == 7){
echo "domingo";
$title = "Descanso";
}
if (count($eventos)>0 && buscar_en_array($fecha_completa,$eventos)==true) echo "evento";
if (date("Y-m-d")==$fecha_completa){ echo "hoy"; $title="Día actual"; }
echo "' title='".$title."'>";
$total_eventos=count($eventos);
$folio="";
$id="";
$horas="";
$event="";
$fecha_1="";
$cantidad="";
for($e=0; $e<$total_eventos; $e++){
if($eventos[$e]["fecha"]==$fecha_completa){
$folio=$eventos[$e]["folio"];
$id=$eventos[$e]["id"];
$horas=$eventos[$e]["horas_requeridas"];
$event=$eventos[$e]["evento"];
$fecha_1=$eventos[$e]["fecha"];
if($eventos[$e]["fecha"] == $eventos[$e]["fecha"]){
$eventos[$e]["horas_requeridas"]+=$eventos[$e]["horas_requeridas"];
}
}
}
if ($folio != ""){
echo "<a href='#' data-evento='#evento".$dia_actual."' title='Revisar horario' class='modal' rel='".$fecha_completa."'>".$dia."</a><div class='window' id='evento".$dia_actual."'>";
echo "<h2>Horario del ".fecha($fecha_completa)."</h2><a href='#' class='close' rel='".$fecha_completa."'><img src='images/delete.png' alt='' title='Cerrar Página' /></a><div class='respuesta'></div>";
for($j=0; $j<$horas; $j++){
$estilo[$j] = '
<style type="text/css">
#orden-'.$id.'-'.$folio.'-'.$j.'{
background-color: #f1f1f1;
}
</style>
<script type="text/javascript">
$("#fun-'.$id.'-'.$folio.'-'.$j.'").attr("href","javascript:completa(\'http://dominio.com/completa.php?folio='.$folio.'\')");
$("#fun-'.$id.'-'.$folio.'-'.$j.'").attr("title","Proyecto:<br />'.$event.'<br />Presiona para ver completo.");
$("#fun-'.$id.'-'.$folio.'-'.$j.'").attr("class","evento");
</script>
';
}
echo "
<table>
<tr>
<td id='orden-".$id."-".$folio."-0'>
<a id='fun-".$id."-".$folio."-0' href='agregar.php' class='libre' title='HORA LIBRE<br />Presiona para asignar tarea'>8:00 AM</a>
</td>
<td id='orden-".$id."-".$folio."-1'>
<a id='fun-".$id."-".$folio."-1' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>9:00 AM</a>
</td>
<td id='orden-".$id."-".$folio."-2'>
<a id='fun-".$id."-".$folio."-2' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>10:00 AM</a>
</td>
<td id='orden-".$id."-".$folio."-3'>
<a id='fun-".$id."-".$folio."-3' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>11:00 AM</a>
</td>
<td id='orden-".$id."-".$folio."-4'>
<a id='fun-".$id."-".$folio."-4' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>12:00 AM</a>
</td>
<td id='orden-".$id."-".$folio."-5'>
<a id='fun-".$id."-".$folio."-5' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>1:00 PM</a>
</td>
<td style='background-color: red;' title='HORA COMIDA'>
2:00 PM
</td>
<td style='background-color: red;' title='HORA COMIDA'>
3:00 PM
</td>
</tr>
<tr>
<td id='orden-".$id."-".$folio."-6'>
<a id='fun-".$id."-".$folio."-6' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>4:00 PM</a>
</td>
<td id='orden-".$id."-".$folio."-7'>
<a id='fun-".$id."-".$folio."-7' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>5:00 PM</a>
</td>
<td id='orden-".$id."-".$folio."-8'>
<a id='fun-".$id."-".$folio."-8' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>6:00 PM</a>
</td>
<td id='orden-".$id."-".$folio."-9'>
<a id='fun-".$id."-".$folio."-9' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>7:00 PM</a>
</td>
<td id='orden-".$id."-".$folio."-10'>
<a id='fun-".$id."-".$folio."-10' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>8:00 PM</a>
</td>
<td id='orden-".$id."-".$folio."-11'>
<a id='fun-".$id."-".$folio."-11' class='libre' href='agregar.php' title='HORA LIBRE<br />Presiona para asignar tarea'>9:00 PM</a>
</td>
</tr>
</table>
";
foreach($estilo as $horas_asignadas){
echo $horas_asignadas;
}
echo "</div>";
}
else echo $dia;
if($domingo != 7){
if (date("Y-m-d")<=$fecha_completa) echo "<a href='#' data-evento='#nuevo_evento' title='Agregar un Evento el ".fecha($fecha_completa)."' class='modal agregar_evento' rel='".$fecha_completa."'><img src='images/add.png' /></a>";
}
echo "</td>";
$dia+=1;
}
else echo "<td class='desactivada'> </td>";
if ($i==7 || $i==14 || $i==21 || $i==28 || $i==35 || $i==42) {echo "<tr>";$tr+=1;}
}
}
echo "</table>";
echo "<div id='nuevo_evento' class='window'>";
echo "<h2>Agregar un evento el <span id='que_dia'></span></h2><a href='#' class='close' rel='".$fecha_completa."'><img src='images/delete.png' title='Cerrar' /></a><div id='respuesta_form'></div>";
echo "<form><textarea name='evento_titulo' id='evento_titulo' style='margin: 0px; height: 253px; width: 375px;'></textarea><br /><br /><input type='button' name='Enviar' value='Guardar' class='enviar'><input type='hidden' name='evento_fecha' id='evento_fecha'></form>";
echo "</div>";
$mesanterior=date("Y-m-d",mktime(0,0,0,$fecha_calendario[1]-1,01,$fecha_calendario[0]));
$messiguiente=date("Y-m-d",mktime(0,0,0,$fecha_calendario[1]+1,01,$fecha_calendario[0]));
echo "<p>« <a href='#' rel='$mesanterior' class='anterior'>Mes Anterior</a> - <a href='#' class='siguiente' rel='$messiguiente'>Mes Siguiente</a> »</p>";