mm en principio no se trata de crear "páginas" y que se "guarden" (aunque se podría hacer como un sistema de "psudo- caché"). En principio a base de consultas SQL a tu BBDD obtendrías ese rango de registros que debes presentar para cierto critério. El "rango" sería tu fecha en función del "mes" que selecciones .. y crear un "navegador" de meses sería generar esos "links" que contengan ese n° de més (o en texto) para pasarlo a tu script PHP que hará la consulta SQL a tu BBDD en función de ese mes.
No sé si me entiendes .. pero en su base se trata de generar linkst tipo:
<a htref="ver_mes.php?mes=1">Enero</a>
Estos "links" de los meses que puedas tener en tu BBDD con datos (registros) podrías generarlo también dinámicamente.
Tu scrip ver_mes.php .. toma "mes" (variable) y ejecuta una sentencia SQL tipo:
$sql="SELECT * FROM tabla WHERE MONTH(fecha) = '".$_GET['mes']."'";
Como veras .. falta otro "detalle" .. O indicas el "año" u obtienes todos los meses ("Enero" ..etc...) de todos los años. Esto es cosa de añadir otra condición a la sentencia SQL, por ejemplo .. para el año en curso: " AND YEAR(fecha)=YEAR(CURDATE())" y similar para un año concreto ...
Luego si quieres limitar N resultados .. ya es cosa de usar LIMIT .. Como veras, me tengo que imaginar que usas Base de datos y que usaras Mysql .. No dejes esto a la imaginación: especifica concretamente que BBDD usas (si es que la usas!?)
Puedes ver funciones de tratamiento de fechas de Mysql en:
http://dev.mysql.com/doc/refman/5.0/...functions.html
Como te comentabla .. lo primero sería obtener los reguistros que necesitas en función de tu criterio dado. Si posteriormente necesitas generar una página "HTML" estática con ese resultado a modo de "caché" (justamente para no volver a consultar a tu BBDD si es que realmente esos datos nunca cambian o si cambian ya te ocuparas de re-generar esa página estática), podrías usar en ese caso las funciones de tratamientod el buffer de PHP: ob_start() y afines .. generar la pagina física con ese resultado a un archivo (fopen() .. etc) y ejecutar ese proceso en un "Cron Job" a intervalos de tiempo .. (al cierre de més) o manualmente cuando tu deses hacer ese proceso.
Pero lo dicho . .ves por partes .. si no sabes que "datos" obtener de tu "modelo de datos" es complicado que te resulte la 2° parte.
PD: Asumo siempre que usas campos de fecha standard de Mysql: DATE o DATETIME() para operar con esas funciones de fechas -sin problemas-
Un saludo,