sábado, 21 de enero de 2012

¡A navegar!

Con el script creado en la entrada anterior, sólo podemos saber la fecha del día de hoy, de ayer y de mañana.
Si quisiéramos hacer más "navegable" el script y que pudiéramos ir moviéndonos, de a un día, hacia adelante o atrás, podríamos escribir el siguiente script:

<?php
include("funciones.php");
if(!isset($_GET['fechaactual'])) {
$_GET['fechaactual']=time();}
$ayer=mktime(0,0,0,date("m",$_GET['fechaactual']), date("d",$_GET['fechaactual'])-1,date("Y",$_GET['fechaactual']));
$manana=mktime(0,0,0,date("m",$_GET['fechaactual']), date("d",$_GET['fechaactual'])+1,date("Y",$_GET['fechaactual']));
echo "<div style='text-align:center;'>";
echo "<h3>".traducir(date('l d \d\e F \d\e Y',$_GET['fechaactual']))."</h3>";
echo "<a href='index.php?fechaactual=".$ayer."'><< D&iacute;a anterior</a> | ";
echo "<a href='index.php?fechaactual=".$manana."'>D&iacute;a posterior>></a>";
echo "</div>";
?>


Ahora explico las líneas nuevas o diferentes con respecto al script de la entrada anterior:

  • En las líneas 3 agregué un if que pregunta si en la URL no (el signo ! indica negación) está definida (isset) la variable fechaactual
  • Si la respuesta el afirmativa, o sea, vía la URL no se recibió la variable fechaactual, entonces en la línea 4 defino dicha variable con el timestamp actual, o sea del momento en que se ejecuta el script.
  • Entre las líneas 5 y 6 definí las variables $ayer y $manana de forma similar a lo hecho en la entrada anterior, pero con el detalle que a cada ocurrencia de la función date le agregué el parámetro del timestamp guardado en  la variable fechaactual, de forma tal que $ayer y $manana hagan referencia al día actual guardado en  la variable fechaactual.
  • En la línea 8 también agregué a la  función date el parámetro del timestamp guardado en  la variable fechaactual, para que muestre la fecha seleccionada, formateada con la etiqueta <h3> .
  • En la línea 9 escribí un vínculo (etiqueta <a>) que llama a la misma página (index.php) pero agregándole un parámetro (después del signo ?) de nombre fechaactual con el contenido de la variable $ayer. De esta manera el vínculo apunta al día anterior al que se está mostrando.
  • Finalmente, la línea 10, hace básicamente lo mismo que la 9, pero el parámetro de nombre fechaactual contiene la variable $manana. De esta manera el vínculo apunta al día siguiente al que se está mostrando.

Lecturas recomendadas

No hay comentarios:

Publicar un comentario

Gracias por el comentario.
Luego de ser sometido a moderación y si amerita, será publicado.