Este artículo le enseñará cómo hacer un calendario en PHP. Aquí enumere algunos scripts de calendario PHP gratis. O puede directamente en el sitio phpkode.com para más tutoriales de PHP gratis.
Pasos
1. Recoge la información necesaria que es importante para mostrar el mes real y resalta el día real. Además de esto, también desea mostrar el mes y el año real. Para hacer esto, necesitará 3 insumos especiales del día: el día real, el primer día del mes real, el último día del mes real
2. Determine qué día fue el primer día, cuánto tiempo es el mes y, por supuesto, que es el día real, con la información anterior.
3.
Utilice la función incorporada PHP: obtener la fecha()
. Sin parámetros, esta función devuelve la información del día real en una matriz de la siguiente manera:
Para obtener el último día del mes con la fecha de obtener, debemos tratar de obtener el 0. día del próximo mes. Así que el código para obtener la información se ve así:
2 | $ hoy = obtener la fecha ()- |
3 | $ primer día = obtener la fecha ( mktime (0,0,0, $ hoy [ `Lun` ], 1, $ hoy [ `año` ])))- |
4 | $ Elastday = obtener la fecha ( mktime (0,0,0, $ hoy [ `Lun` ] +1,0, $ hoy [ `año` ])))- |
Paso 3.Para mostrar un calendario necesitamos una tabla con 7 columnas para los días de la semana. El número de líneas dependiendo del número de días y el primer día del mes. Sin embargo, necesitamos una línea de encabezado con información de mes y año, una línea de subtítulo con el nombre de los días.
2 | // crear una tabla con las informaciones necesarias de encabezado |
3 | eco `` - |
"-
4 | eco ` |
`. $ hoy [ `mes` ]. " - " . $ hoy [ `año` ]. " |
---|
`-
`-
`-
Ahora que tienes el encabezado de la mesa, llena la primera fila. No es tan fácil, ya que no puede simplemente escribir 1 en la primera celda, 2 en el segundo y así sucesivamente. Solo funciona si el primer día del mes fue el lunes, pero ¿y si no?? Para decidir esto, necesitamos el artículo del día de la matriz del primer día. Con esta información podemos llenar las celdas con un espacio si es necesario. El código para hacer esto es el siguiente:`-
03 | por ( $ i = 1- $ i < $ primer día [ `wday` ]- $ i ++{ |
`-
07 | por ( $ i = $ primer día [ `wday` ]- $ i <= 7- $ i ++{ |
"-
`-
Como el siguiente paso necesitamos rellenar a las siguientes líneas. Es un poco más fácil, solo necesitamos saber cuántas semanas completas tenemos y llenen algunas filas de tabla de la siguiente manera: 02 | $ fullweeks = suelo (( $ Elastday [ `May` ]- $ actuario ) / 7)- |
04 | por ( $ i = 0- $ i < $ fullweeks - $ i ++{ |
`-
06 | por ( $ j = 0- $ j <7- $ j ++{ |
"-
`-
Como paso semi final, necesitamos agregar el resto del mes a la última línea. En este caso es bastante fácil: 02 | Si ( $ actuario < $ Elastday [ `May` ]) { |
`-
04 | por ( $ i = 0- $ i <7- $ i ++{ |
06 | Si ( $ actuario <= $ Elastday [ `May` ]) { |
"-
`-
`-
Paso 7.Para hacer que el calendario sea un poco mejor, introduciremos un diseño CSS. El archivo CSS es muy simple:03 | frontera : 0px sólido # 888 - |
04 | colapso de borde : colapso - |
08 | Border-Colpase: Colpase- |
09 | frontera : 1px sólido # 888 - |
10 | texto alineado : derecho - |
14 | color de fondo : # F1F3F5 - |
17 | Border-Colpase: Colpase- |
18 | frontera : 1px sólido # 888 - |
19 | color de fondo : # E9ecef - |
22 | color de fondo : # C22 - |
El código completo utilizando el CSS es el siguiente: 01 | "-// w3c // dtd xhtml 1.0 transitional // en" "DTD / XHTML1-TRANSICIONAL.dtd" >
|
04 | # "Estilo / Estilo.CSS" rel = "estilos" tipo = "Texto / CSS" /> |
08 | función Showcalendar () { |
09 | // obtener informaciones clave del día. |
10 | // Necesitamos el primer y el último día del mes y el día real |
11 | $ hoy = obtener la fecha ()- |
12 | $ primer día = obtener la fecha ( mktime (0,0,0, $ hoy [ `Lun` ], 1, $ hoy [ `año` ])))- |
13 | $ Elastday = obtener la fecha ( mktime (0,0,0, $ hoy [ `Lun` ] +1,0, $ hoy [ `año` ])))- |
15 | // crear una tabla con las informaciones necesarias de encabezado |
17 | eco ` |
`. $ hoy [ `mes` ]. " - " . $ hoy [ `año` ]. " |
---|
`-
`-
`-
22 | // Mostrar la primera fila de calendario con el posicionamiento correcto |
`-
24 | por ( $ i = 1- $ i < $ primer día [ `wday` ]- $ i ++{ |
`-
28 | por ( $ i = $ primer día [ `wday` ]- $ i <= 7- $ i ++{ |
30 | Si ( $ actuario == $ hoy [ `May` ]) { |
31 | Clase $ = `Clase ="activo"` - |
"-
`-
39 | // obtener cuántas semanas completas hay en el mes real |
40 | $ fullweeks = suelo (( $ Elastday [ `May` ]- $ actuario ) / 7)- |
41 | por ( $ i = 0- $ i < $ fullweeks - $ i ++{ |
`-
43 | por ( $ j = 0- $ j <7- $ j ++{ |
45 | Si ( $ actuario == $ hoy [ `May` ]) { |
46 | Clase $ = `Clase ="activo"` - |
"-
`-
55 | // ahora muestra el resto del mes |
56 | Si ( $ actuario < $ Elastday [ `May` ]) { |
`-
58 | por ( $ i = 0- $ i <7- $ i ++{ |
60 | Si ( $ actuario == $ hoy [ `May` ]) { |
61 | Clase $ = `Clase ="activo"` - |
66 | Si ( $ actuario <= $ Elastday [ `May` ]) { |
"-
`-
`-
75 | eco ` |
`-