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...