Deberías implementar para los siguientes casos:
1.- Estar al principio de la página
2.- Estar en páginas intermedias
3.- Estar al final de la página
Para eso debes tener una función para cada caso en específico y establecer los límites de acuerdo a tu manejador de base de datos...
En mi caso, uso postgres y la sentencia sql es más o menos parecida a esta
Código PHP:
Ver original$sql="select * from tabla1 as a, tabla 2 as b
where a.id_tabla1=b.id_tabla2
order by a.fecha ASC
limit $por_pagina offset $inicio"
donde $por página es la cantidad de registros por página que se desean mostrar, e $inicio es el registro donde se va a iniciar el listado de los registros de acuerdo a los valores que retorna la sentencia de SQL.