Mostrar formulario del calendario

Valoración del artículo:
La segunda función en importancia es la que se encarga de mostrar el formulario que nos sirve para cambiar el mes y el año del calendario.
Publicado: 21/2/02
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Esta función sirve para imprimir en pantalla el formulario que utilizamos para seleccionar cualquier otro mes y año que deseemos visualizar en la página. No debería significar un problema muy gordo, pues se trata de un simple formulario. Lo único que complica un poco el código es que deseamos que el formulario presente inicialmente los valores de mes y año que está mostrando el calendario, pero veremos rápido cómo hacerlo.

Función formularioCalendario ($mes,$ano)

Para empezar, vemos que la función recibe el mes y el año, que nos servirá para saber el valor por defecto a mostrar en nuestro formulario. El código lo podemos ver por partes a continuación.

echo '
<table align="center" cellspacing="2" cellpadding="2" border="0">
<tr><form action="index.php" method="POST">';


Con esto imprimimos por pantalla la cabecera de la tabla donde vamos a alojar el formulario y la cabecera del propio formulario. Nos fijamos que el atributo action del formulario lo tenemos dirigido hacia el archivo índice.

echo '
<td align="center" valign="top">
Mes: <br>
<select name=nuevo_mes>
<option value="1"';
if ($mes==1)
    echo "selected";
echo'>Enero
<option value="2" ';
if ($mes==2)
    echo "selected";
echo'>Febrero
<option value="3" ';
if ($mes==3)
    echo "selected";
echo'>Marzo
<option value="4" ';
if ($mes==4)
    echo "selected";
echo '>Abril
<option value="5" ';
if ($mes==5)
    echo "selected";
echo '>Mayo
<option value="6" ';
if ($mes==6)
    echo "selected";
echo '>Junio
<option value="7" ';
if ($mes==7)
    echo "selected";
echo '>Julio
<option value="8" ';
if ($mes==8)
    echo "selected";
echo '>Agosto
<option value="9" ';
if ($mes==9)
    echo "selected";
echo '>Septiembre
<option value="10" ';
if ($mes==10)
    echo "selected";
echo '>Octubre
<option value="11" ';
if ($mes==11)
    echo "selected";
echo '>Noviembre
<option value="12" ';
if ($mes==12)
    echo "selected";
echo '>Diciembre
</select>
</td>';


Estas líneas de código sirven para escribir el <select> correspondiente al mes. Lo único que lo hace complicado es precisamente el hecho de que tenemos que comprobar si el mes que se va a imprimir es el mes que está mostrando el calendario, pues en ese caso deberíamos marcar como selected el <option> correspondiente. Esto se hace con los sucesivos if que hay insertados entre cada etiqueta <option>.

echo '
<td align="center" valign="top">
Año: <br>
<select name=nuevo_ano>
<option value="2000" ';
if ($ano==2000)
    echo "selected";
echo' >2000
<option value="2001" ';
if ($ano==2001)
    echo "selected";
echo '>2001
<option value="2002" ';
if ($ano==2002)
    echo "selected";
echo '>2002
<option value="2003" ';
if ($ano==2003)
    echo "selected" ;
echo '>2003
<option value="2004" ';
if ($ano==2004)
    echo "selected" ;
echo '>2004
</select>
</td>';


De manera parecida a como se ha realizado para los meses, se escribe también el año, comprobando en cada ocasión si el año que se va a escribir corresponde con el del calendario. En este ejemplo ponemos años desde el 2000 al 2004, cualquiera de vosotros puede introducir más o menos años con pocos cambios.

echo '
</tr>
<tr>
    <td colspan="2" align="center"><input type="Submit" value="[ IR A ESE MES ]"></td>
</tr>
</table><br>

<br>

</form>';


Para acabar mostramos el botón de submit del formulario y las etiquetas de cierre de tabla y formulario.


Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo