por favor ayuda paginacion compleja

ania
03 de Mayo del 2002
Tengo hecho el codigo para paginar los resultados de una consulta y ya me sale todo bien el problema es que yo en el momento que yo tenga mas de 8 paginas por ejemplo no quiero que me salgan mas numeros ejemplo
anterior 1 2 3 4 5 6 7 8 siguiente
cuando yo le de a siguiente sera
anterior 2 3 4 5 6 7 8 9 siguiente
Si alguien tiene el codigo por favor mandalo
Gracias