Se la query la fai su un database MYSQL puoi mettere in fondo alla query la clausola LIMIT.

Ad esempio

SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15

Quindi se vuoi fare 10 risultati per pagina il tuo "paginatore" passerà dei valori ad una pagina che si preoccuperà di fare query di questo tipo

Se sei in pagina 1
SELECT * FROM tbl LIMIT 0,10;

Se sei in pagina 2
SELECT * FROM tbl LIMIT 10,10;

Se sei in pagina 3
SELECT * FROM tbl LIMIT 20,10;

e cosi via...
ovviamente se la prima volta che crei il paginatore conti prima il numero totale di record in modo da sapere anche quante pagine hai è meglio...