Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/11/2011, 09:46
Avatar de JuJoGuAl
JuJoGuAl
 
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 6 meses
Puntos: 19
Respuesta: Crear calendario en Sistema de Asistencia

Cita:
Iniciado por Perr0 Ver Mensaje
hola Jujogual, create un archivo php con esto y juega con la ultima linea, cuando lo entiendas lo aplicas a tu trabajo:


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.                 if($row==0)
  43.                 print diasemana(date("w",mktime(0,0,0,$m,$d,$a)));
  44.                 elseif($row==1)
  45.                 print date("j",mktime(0,0,0,$m,$d,$a));
  46.                 elseif($row==2){
  47.                     if($this->asist[$i]==1)
  48.                     print "x";
  49.                     else
  50.                     print "&nbsp;";
  51.                 }
  52.                 $d++;
  53.                 print "</td>";
  54.             }
  55.             print "</tr>\n";
  56.             $i=0;
  57.         }
  58.         print "</table>";
  59.     }
  60. }
  61. //Término Clase
  62.  
  63.  
  64.  
  65. //$asistencia es la info como array
  66. $asistencia = array(0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,1);
  67. //se crea el constructor
  68. $const = new claseTablaDias;
  69. //se ingresan los datos, fecha de incio, fecha de termino, array de asistencia
  70. $const->validarDatos("20-8-2011","4-9-2011",$asistencia);
  71. ?>

salu2
Disculpa pegue tu codigo en un fichero y mando a mostrar y veo esto:

fi = $fecha_inicio; $this->asist = $array_asistencia; $this->dif_dias = $f2 - $f1 + 1; if($this->dif_dias>0) { $this->crearTablaDias($array_asistencia); }else{ print "error datos"; } } function crearTablaDias(){ print "\n"; for($row=0;$row<3;$row++){ list($d,$m,$a) = fechaNumero($this->fi,1); print "\n"; for($i==0 ; $i<$this->dif_dias ;$i++){ print ""; } print "\n"; $i=0; } print "
"; if($row==0) print diasemana(date("w",mktime(0,0,0,$m,$d,$a))); elseif($row==1) print date("j",mktime(0,0,0,$m,$d,$a)); elseif($row==2){ if($this->asist[$i]==1) print "x"; else print " "; } $d++; print "
"; } } //Término Clase //$asistencia es la info como array $asistencia = array(0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,1); //se crea el constructor $const = new claseTablaDias; //se ingresan los datos, fecha de incio, fecha de termino, array de asistencia $const->validarDatos("20-8-2011","4-9-2011",$asistencia); ?>

porque? :S