Mostrar calendario PHP I
Explicamos la función encargada de imprimir el calendario en la página web. Es la función más improtante del ejercicio y también la más compleja.
21/2/02 -
Vamos a construir una función que crea el calendario de un mes y un año determinados. Por ejemplo, si indicamos que se cree el calendario de febrero de 2002, obtendríamos algo como lo que se puede ver en la imagen de la derecha.
Este ejemplo presenta una ligera complejidad, aunque esperamos que con nuestras explicaciones podáis entender cómo hemos resuelto el problema.
Función mostrar_calendario($mes,$ano)
Es la función más importante de nuestra librería. Se encarga de dibujar en pantalla el calendario con todos sus días. El calendario lo haremos en una tabla de HTML, así que iremos escribiendo el calendario por arriba, utilizando las correspondientes etiquetas HTML.
Empezaremos escribir el mes y año que se están visualizando. Nos debemos fijar que a los lados del mes y año tenemos unas flechitas para ir al mes anterior o siguiente. Estas flechitas son enlaces al índice en los que pasamos por parámetro el mes y año que debe visualizarse. Vemos el código de todo esto y lo comentamos más adelante.
//tomo el nombre del mes que hay que imprimir
$nombre_mes = dame_nombre_mes($mes);
//construyo la cabecera de la tabla
echo "<table width=200 cellspacing=3 cellpadding=2 border=0><tr><td colspan=7 align=center class=tit>";
echo "<table width=100% cellspacing=2 cellpadding=2 border=0><tr><td style=font-size:10pt;font-weight:bold;color:white>";
//calculo el mes y ano del mes anterior
$mes_anterior = $mes - 1;
$ano_anterior = $ano;
if ($mes_anterior==0){
$ano_anterior--;
$mes_anterior=12;
}
echo "<a style=color:white;text-decoration:none href=index.php?nuevo_mes=$mes_anterior&nuevo_ano=$ano_anterior> << </a></td>";
echo "<td align=center class=tit>$nombre_mes $ano</td>";
echo "<td align=right style=font-size:10pt;font-weight:bold;color:white>";
//calculo el mes y ano del mes siguiente
$mes_siguiente = $mes + 1;
$ano_siguiente = $ano;
if ($mes_siguiente==13){
$ano_siguiente++;
$mes_siguiente=1;
}
echo "<a style=color:white;text-decoration:none href=index.php?nuevo_mes=$mes_siguiente&nuevo_ano=$ano_siguiente> >> </a></td></tr></table></td></tr>";
Escribo la cabecera de la tabla, indicando el mes y el año que vamos a imprimir en la página. Para empezar utilizamos una función que devuelve el nombre de un mes en castellano. Es muy fácil de construir y podemos verla en otro
capítulo más adelante.
Seguimos por colocar un poco de código HTML, sin más importancia. Luego calculamos el mes y año anterior para colocarlo en el enlace que habíamos comentado con las flechita hacia atrás. El código que inserta el enlace ser puede ver en la siguiente línea. Su atributo href tiene el valor index.php?nuevo_mes=$mes_anterior&nuevo_ano=$ano_anterior, donde podemos observar que efectivamente se llama a index.php pasando los valores del mes y año a mostrar.
Luego imprimimos en la página el valor del mes y año y en las siguientes líneas podemos ver cómo se obtiene el mes y año siguientes para hacer la correspondiente flechita-enlace, de manera similar a como se hizo anteriormente.
echo ' <tr>
<td width=14% align=center class=altn>L</td>
<td width=14% align=center class=altn>M</td>
<td width=14% align=center class=altn>X</td>
<td width=14% align=center class=altn>J</td>
<td width=14% align=center class=altn>V</td>
<td width=14% align=center class=altn>S</td>
<td width=14% align=center class=altn>D</td>
</tr>';
Este trozo de código sirve para escribir la siguiente fila de la tabla, con las iniciales de los días de la semana, desde el lunes al domingo.
Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 1 comentario no revisado
| Autoría, licencia y acciones sobre este artículo |
|
Informe de Miguel Angel Alvarez* Director de DesarrolloWeb.com
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
* Para consultas técnicas utilizar la lista de correo.
|
Manuales relacionados con este artículo
Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en
Scripts en PHP
| Comentarios sin revisar |
|
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
|
Se ha encontrado un comentario sin revisar
Ir arriba