Ver Mensaje Individual
  #13 (permalink)  
Antiguo 25/11/2011, 14:48
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

Se me paso algo en el anterior código
resetear $valor

asi que lo quite y resumi en 4 ó 5 lineas menos

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){
  23.         $f1 = fechaNumero($fecha_inicio,0);
  24.         $f2 = fechaNumero($fecha_fin,0);
  25.         $this->fi = $fecha_inicio;
  26.         $this->dif_dias = $f2 - $f1 + 1;
  27.         if($this->dif_dias>0) {
  28.             $this->crearTablaDias();
  29.         }else{
  30.             print "error datos";
  31.         }
  32.     }
  33.    
  34.     function crearTablaDias(){
  35.         print "<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n";
  36.         for($row=0;$row<3;$row++){
  37.             list($d,$m,$a) = fechaNumero($this->fi,1);
  38.             print "<tr>\n";
  39.             for($i==0 ; $i<$this->dif_dias ;$i++){
  40.                 print "<td align=\"center\">";
  41.                 $dia = diasemana(date("w",mktime(0,0,0,$m,$d,$a)));
  42.                 $fechadia = date("j",mktime(0,0,0,$m,$d,$a));
  43.                 if($row==0)
  44.                 print $dia;
  45.                 elseif($row==1)
  46.                 print $fechadia;
  47.                 elseif($row==2){
  48.                     ##################### CONECTAR BASE DATOS #####################
  49.                     $consulta = "SELECT fecha FROM tabla WHERE fecha='$a-$m-$d'";
  50.                     $query = mysql_query($consulta);
  51.                     if(mysql_num_rows($query) && $dia!="Do")
  52.                     print "x";
  53.                     else
  54.                     print "&nbsp;";
  55.                     ##################### DESCONECTAR BASE DATOS #####################
  56.                 }
  57.                 $d++;
  58.                 print "</td>";
  59.             }
  60.             print "</tr>\n";
  61.             $i=0;
  62.         }
  63.         print "</table>";
  64.     }
  65. }
  66. //Término Clase
  67.  
  68.  
  69.  
  70. //se crea el constructor
  71. $const = new claseTablaDias;
  72. //se ingresan los datos, fecha de incio, fecha de termino
  73. $const->validarDatos("20-8-2011","4-9-2011");
  74. ?>

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