Hola Sandra.
Una solución podría ser utilizar "LIMIT" en tu clausula SQL, y utilizar variables para los números de registros. Me explico:
Imaginemos que es el usuario (el que ve la página) el que establece el número de registros que quiere ver por cada página, para esto utilizarías un campo de formulario que establecerá la variable $registros (te puedes traer el dato de otra página). Una vez tengamos el número de registros a mostrar, empezamos con la página de resultados:
Lo primero es comprobar si es la primera vez que consultamos resultados. Para saber en qué registro debemos empezar a mostrar los resultados usaremos la viariable $empezar:
if (!isset($emprezar)){
$empezar=0;
}
Con esto, si es la primera vez que consultamos, empezará a mostrar desde el registro 1. La consulta SQL sería algo así:
$consulta=mysql_query ("SELECT * FROM tabla LIMIT $empezar,$registros", $link);
Utilizando LIMIT con las dos variables, estamos empezando en 0 y con el límite que ha establecido el usuario. Después se muestran los resultados. Al final de la página debes poner un link para mostrar el siguiente rango de registros utilizando las variables que ya tienes pero incrementando el valor de comienzo:
$empezar=$empezar+$registros;
echo "<a href='mismapagina.php?empezar=$empezar®istros=$registros'>Mostrar siguientes</a>";
Con esto, cuando vuelva a cargar la página empezará en el registro siguiente y terminará según el límite del usuario, y el link estará preparado para mostrar los siguientes.
Espero que te sirva....
Un saludo