Ver Mensaje Individual
  #9 (permalink)  
Antiguo 25/11/2011, 10:52
Avatar de Perr0
Perr0
 
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 19 años
Puntos: 79
Respuesta: Crear calendario en Sistema de Asistencia

le hice una modificacion para los domingos, trata de ingeniartelas tu

Código PHP:
Ver original
  1. <?
  2. //Inicio Funciones
  3. function fechaNumero($f,$opc){
  4.     $f = preg_replace("#[,.\/ ]#","-",$f);
  5.     if(!$opc){
  6.         list($d,$m,$a) = explode("-",$f);
  7.         $fecha = mktime(0,0,0,$m,$d,$a)/(60 * 60 * 24);
  8.     }else
  9.     $fecha = explode("-",$f);
  10.     return $fecha;
  11. }
  12.  
  13. function diasemana($d) {
  14.     $sem = array("Do","Lu","Ma","Mi","Ju","Vi","Sa");
  15.     return $sem[$d];
  16. }
  17. //Término Funciones
  18.  
  19.  
  20. //Inicio Clase
  21. class claseTablaDias {
  22.     function validarDatos($fecha_inicio,$fecha_fin,$array_asistencia){
  23.         $f1 = fechaNumero($fecha_inicio,0);
  24.         $f2 = fechaNumero($fecha_fin,0);
  25.         $this->fi = $fecha_inicio;
  26.         $this->asist = $array_asistencia;
  27.         $this->dif_dias = $f2 - $f1 + 1;
  28.         if($this->dif_dias>0) {
  29.             $this->crearTablaDias($array_asistencia);
  30.         }else{
  31.             print "error datos";
  32.         }
  33.     }
  34.    
  35.     function crearTablaDias(){
  36.         print "<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n";
  37.         for($row=0;$row<3;$row++){
  38.             list($d,$m,$a) = fechaNumero($this->fi,1);
  39.             print "<tr>\n";
  40.             for($i==0 ; $i<$this->dif_dias ;$i++){
  41.                 print "<td align=\"center\">";
  42.                 $dia = diasemana(date("w",mktime(0,0,0,$m,$d,$a)));
  43.                 $fechadia = date("j",mktime(0,0,0,$m,$d,$a));
  44.                 if($row==0)
  45.                 print $dia;
  46.                 elseif($row==1)
  47.                 print $fechadia;
  48.                 elseif($row==2){
  49.                     if($this->asist[$i]==1 && $dia!="Do")
  50.                     print "x";
  51.                     else
  52.                     print "&nbsp;";
  53.                 }
  54.                 $d++;
  55.                 print "</td>";
  56.             }
  57.             print "</tr>\n";
  58.             $i=0;
  59.         }
  60.         print "</table>";
  61.     }
  62. }
  63. //Término Clase
  64.  
  65.  
  66.  
  67. //$asistencia es la info como array
  68. $asistencia = array(0,1,1,0,1,1,0,0,1,0,0,0,1,1,0,1);
  69. //se crea el constructor
  70. $const = new claseTablaDias;
  71. //se ingresan los datos, fecha de incio, fecha de termino, array de asistencia
  72. $const->validarDatos("20-8-2011","4-9-2011",$asistencia);
  73. ?>


salu2
__________________
Numerador Mp3 en Access =)
http://www.mediafire.com/download/r9...pdw/mp3(2).zip