ElTicus.com

Programación, lenguajes y recursos para programadores

**
Recurso no clasificado
Como dibujar un calendario en una página Web
Algoritmo implementado en PHP
Publicado por JL Fecha: 2006-12-23 11:43:13 Idioma: Español Tipo de documento: Código fuente

Como dibujar un calendario en una página Web.

El método para dibujar un calendario consta de 4 pasos que son:



  1. Colocar el encabezado es decir, los nombres de los días en la parte superior del calendario (ver el diagrama).

  2. Dibujar las celdas vacías que corresponden a los últimos días del mes anterior. Estos no son de nuestro interés, por lo que podemos simplemente dibujar cuadros en blanco.

  3. En un ciclo desde 1 a 31 (o al número de días que tenga el mes), dibujamos cada celda imprimiendo el número dentro de ella.

    Aquí debemos checar que cada vez que sea sábado, hacemos un salto de línea.

  4. De manera opcional, podemos imprimir los últimos cuadros del mes.

Entonces, resumiendo, tenemos que los pasos son:



  • Poner los encabezados

  • Un ciclo para poner cuadros vacíos

  • Un ciclo para los días del mes

  • Un ciclo para poner cuadros vacíos
  • Este algoritmo se puede implementar en cualquier lenguaje.


    A continuación, se presenta el código en PHP que imprime el calendario de enero de 2007 (NOTA: Se puede adaptar fácilmente para que imprima el del mes actual):



      $a=2007; //<--- Año
      $m=1;   //     y mes a mostrar
       
      $meses_nombres=Array(1=>"Enero","Febrero","Marzo","Abril","Mayo",
                              "Junio","Julio", "Agosto","Septiembre","Octubre",
                              "Noviembre","Diciembre");     //<- Para que aparezca en español.

      if ($a>=0 && $a<30) $a+=2000;   // <-- normalizamos el año 
      if ($a>=30 && $a<100) $a+=1900;  //      a 4 dígitos.

      $dat=mktime(0, 0, 0, $m, 1, $a); //<-- Creamos una fecha del día primero del mes (01/$m/$a)   
      $diasemana= date("w",$dat);  // <-- determinamos en que día de la semana cae el día primero
      $totaldias=date("t",$dat);   // <-- determinamos el total de días del mes (28,29,30 Ã³ 31)
      

    /* ****************************
          PASO 1: Encabezados 
     ****************************** */
       
      echo "<table border=1>";
      echo "<tr><td>Dom</td><td>Lun</td><td>Mar</td> 
                 <td>Mie</td><td>Jue</td><td>Vie</td><td>Sab</td></tr>"
    ;

    /* ****************************
          PASO 2: Celdas vacías
     ****************************** */
     
      echo "<tr>";
      for($i=0; $i<$diasemana; $i++)
      {
       echo "<td></td>";
      }

    /* ****************************
          PASO 3: Días del mes
     ****************************** */

      for($d=1; $d<=$totaldias; $d++)
      {
        $dat=mktime(0, 0, 0, $m, $d, $a); //<-- Creamos una fecha del día en curso
        $diasemana= date("w",$dat);       //    para poder determinar el día de la semana
        
        echo "<td align='right'>$d</td>"; 
        
        if ($diasemana==6)     //<-- si es sábado, cerramos el renglon y comenzamos uno nuevo
          echo "</tr><tr>"; 
      }
    /* ****************************
         PASO 4: cuadros vacíos al final (omitido)
     ****************************** */
      
      echo "</tr>";
      echo "</table>";




Nadie ha puesto ningún comentario todavía


Haz un comentario sobre este tema
Nombre email (no se muestra)
comentario:
Escribe las 2 letras que ves aquí: Imagen anti-spam =




No hay comentarios

Artículos relacionados:
Recurso no clasificado Check de diseño Recurso no clasificado Como ponerle un contador de visitas a tu sitio en menos de 5 minutos. Recurso no clasificado Como colocar un relojito en una página WEb y que se esté refrescando cada segundo. Recurso no clasificado Como imprimir la fecha en español utilizando PHP aunque el idioma del servidor sea el inglés. Recurso no clasificado Como construir una gráfica de barras con CSS y PHP
Tip Como mandar parámetros a una aplicación de Flash en Internet Explorer y Mozilla Truco Como generar un archivo XLS desde PHP Tip Como escalar una imagen utilizando PHP y las funciones de la librería GD Tip Como corregir la fecha de mi servidor si éste se encuentra en un uso horario diferente al mio Recurso no clasificado Huevos de Pascua (Easter Egg)
Recurso no clasificado Para imprimir la fecha en español utilizando PHP independientemente del lenguaje del servidor (Utilizando ARRAYS) Truco Como generar un archivo .DOC de WORD desde PHP Truco Como generar un archivo .DOC/.RTF de WORD desde PHP (Incluyendo tablas) Recurso no clasificado Como cambiar el tamaño de una imagen JPG sin que esta se deforme. Truco Ejemplo práctico de las funciones de expresiones regulares: Como identificar una dirección email dentro de un archivo de texto
Recurso no clasificado Programa en PHP que convierte una cantidad dada como un número a su equivalente en letra Recurso no clasificado Como convertir una fecha de Lenguaje Natural a tipo DATE Recurso no clasificado Las tablas de multiplicar en PHP Truco Como alternar colores en una tabla fácilmente Recurso no clasificado Generar una tabla HTML desde una Base de Datos MYSQL
Recurso no clasificado Aprendiendo MySQL con PHP