Cómo crear un calendario en PHP

by admin

Cómo crear un calendario en PHP

El lenguaje de programación PHP cuenta con funciones de fecha y hora que simplifican la creación de un calendario mensual. El \ "fecha () \" función devuelve una fecha formateada, o partes de una fecha, para una marca de tiempo UNIX dado. El "mktime () \" \ función devuelve una marca de tiempo Unix de una fecha y hora determinada. Mediante la combinación de los dos, se puede recuperar el nombre del mes, los primeros y últimos días del mes, y otros valores útiles para la impresión de su calendario. Crear un calendario básico, y luego construir en él para personalizarlo para sus necesidades.

Instrucciones

1 Comience el código de calendario mediante el establecimiento de la zona horaria predeterminada para su área. Esto asegurará que el mes en curso y hoy se muestran correctamente.

<? Php
date_default_timezone_set ( "América / Denver ');

2 Compruebe array $ _REQUEST de la secuencia de comandos para ver si se establecieron las variables \ "\" año "mes \" y \. Si no es así, ellos establecen en valores de hoy y asignar a las variables con nombre $ $ mes y año.

if (! isset ($ _ REQUEST [\ "mes \"])) $ _REQUEST [\ "mes \"] = fecha (\ "n \")
IR
if (! isset ($ _ REQUEST [\ "El año \"])) $ _REQUEST [\ "El año \"] = fecha (\ "Y \")
IR
$ Mes = $ _REQUEST [\ "mes \"]
IR
$ = $ _REQUEST Año [\ "El año \"]
IR

fecha (\ "n \") devuelve el mes numérica, y la fecha (\ "Y \") devuelve el año de cuatro dígitos. Ver el \ "Manual de PHP: Fecha de \" documentación vinculada en la sección de referencias para obtener una lista completa de los caracteres de formato de cadena.

3 Generar una marca de tiempo, el uso de mktime (), para el primer día del mes y año previsto. Establecer los parámetros de tiempo para \ "0 \" El tiempo no es necesario para imprimir un calendario.

$ Timestamp = mktime (0, 0, 0, $ meses, 1, $ años);

4 Crear variables para contener el nombre del mes ($ monthtxt), la numérica último día del mes ($ Lastday), y el día numérico de la semana del primer día del mes cae en ($ firstdow, donde el domingo es \ " 0 \ ").

$ Monthtxt = fecha (\ "F \", $ fecha y hora)
IR
$ Lastday = fecha (\ "t \", $ fecha y hora)
IR
$ Firstdow = fecha (\ "w \", $ fecha y hora)
IR
?>

5 Cree el encabezado de calendario, imprimir el mes ($ monthtxt) y el año ($ año) por encima de una mesa con siete columnas rematadas con encabezados de columna día-of-the-semana.

<H2>
<? Php echo $ monthtxt?>
<? Php echo $ año?>
</ H2>

<Table>
<Tr>
<Th> S </ th>
<Th> M </ th>
<Th> T </ th>
<Th> W </ th>
<Th> T </ th>
<Th> F </ th>
<Th> S </ th>
</ Tr>

6 Iniciar un bucle al paso a través de cada celda de la tabla en el calendario. El valor de $ d contará a través del número de celdas de la tabla de la celda superior izquierda (\ "0 \") de la tabla a través de la celda que contiene el último día del mes ($ + $ Lastday firstdow - 1).

<? Php
de ($ d = 0; $ d <($ + $ Lastday firstdow); $ d ++) {

7 Calcular el día del mes que se imprime en la tabla.

$ Curday = $ d - $ firstdow + 1;

8 Comenzar una nueva fila de la tabla si el recuento actual aterriza en la columna de la primera tabla. $ d% 7 vuelve el resto de $ d / d $ 7. Cuando 7% es 0, el conteo es en la \ "Sunday \" columna.

if (($ d% 7) == 0) echo \ "<tr> \ n \";

9 Imprimir la celda de la tabla. Cuando d $ ha contado hasta la primera celda de la tabla que contiene un día válido del mes, se imprimirá el valor para ese día en la celda de la tabla.

echo \ "<td> \"
IR
if ($ d> = $ firstdow) echo $ curday;
echo \ "</ td> \ n \";

10 Poner fin a la fila de la tabla si el recuento actual cae en la última columna de la tabla. Cuando $ d% 7 es 6, el recuento es en la columna \ "Sábado \".

if (($ d% 7) == 6) echo \ "</ tr> \ n \";

11 Terminar el bucle, contenedor PHP, y la mesa.

}
?>
</ Table>

12 Pruebe su script PHP. Llamarlo con el mes y el año de imprimir un calendario para un mes específico (por ejemplo, http://yoursite.com/calendar.php?month=2&amp;year=2008).

ETIQUETA: