Por cuestiones del foro no puedo agregar el código completo, ya que supera el número de líneas permitidas, pero coloco el fragmento, del caso en el que se genera el calendario.
Código PHP:
case "generar_calendario":{
$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";
/* obtenemos el dia de la semana del 1 del mes actual */
$primeromes=date("N",mktime(0,0,0,$fecha_calendario[1],1,$fecha_calendario[0]));
/* comprobamos si el año es bisiesto y creamos array de días */
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;
/* los días totales de la tabla siempre serán máximo 42 (7 días x 6 filas máximo) */
$diasdespues=42;
$tope=$dias[intval($fecha_calendario[1])]+$diasantes;
if ($tope%7!=0) $totalfilas=intval(($tope/7)+1);
else $totalfilas=intval(($tope/7));
/* empezamos a pintar la tabla */
echo "<h2>Actividades de ".$_SESSION['k_username']." 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>Domingo</th></tr><tr>";
/* inicializamos filas de la tabla */
$tr=0;
$dia=1;
for ($i=1;$i<=$diasdespues;$i++)
{
if ($tr<$totalfilas)
{
if ($i>=$primeromes && $i<=$tope)
{
echo "<td class='";
/* creamos fecha completa */
if ($dia<=10) $dia_actual="0".$dia; else $dia_actual=$dia;
$fecha_completa=$fecha_calendario[0]."-".$fecha_calendario[1]."-".$dia_actual;
if (count($eventos)>0 && buscar_en_array($fecha_completa,$eventos)==true) echo "evento";
/* si es hoy coloreamos la celda */
if (date("Y-m-d")==$fecha_completa) echo "hoy";
echo "'>";
/* recorremos el array de eventos para mostrar los eventos del día de hoy */
$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"];
}
}
}//Fin for busca en base de datos
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>Eventos 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://empresaweb.com.mx/orden-produccion/php/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>
';
}//Fin for horas ocupadas
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;
/* agregamos enlace a nuevo evento si la fecha no ha pasado */
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>";
break;
}
Gracias por su ayuda