Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/03/2013, 10:36
Avatar de thedaket
thedaket
 
Fecha de Ingreso: junio-2011
Mensajes: 55
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Calendario php

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] % == 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&eacute;rcoles</th><th>Jueves</th><th>Viernes</th><th>S&aacute;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)>&& 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&aacute;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'>&nbsp;</td>";
                    if (
$i==|| $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>&laquo; <a href='#' rel='$mesanterior' class='anterior'>Mes Anterior</a> - <a href='#' class='siguiente' rel='$messiguiente'>Mes Siguiente</a> &raquo;</p>";
        break;
    } 
Gracias por su ayuda
__________________
Sí AJAX quieres usar jQuery debes agregar...