Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/11/2008, 05:06
DarkJ
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: paginacion php mysql

Primero generalizamos es resultado final (en negrita la pagina actual)

< 1 2 ... 8 9 10 11 12 ... 199 200 >

Divide esto en tramos:

- las primeras paginas: 1 2 ...

- las paginas del bloque de la actual: 8 9 10 11 12

- las finales: ... 199 200

Tienes que definir unos parametros para poder decidir si mostrar o no las primeras o las finales. Por ejemplo puedes decidir que si la actual es una de las 7 primeras no mostrar el bloque de las primeras (< 1 2 3 4 5 6 7 ... 199 200 >). Lo mismo, si es de las 7 ultimas no mostrar el bloque final ( < 1 2 ... 194 195 196 197 198 200 >). En caso de que solo haya menos de 10 paginas no mostrar ni las primeras ni las finales ( < 1 2 3 4 5 6 7 >). En cualquier otro caso, mostrar las iniciales, el bloque de la actual (desde actual - 2 a actual + 2) y las finales.

Todo eso lo pones en ifs y sustituye el for de tu codigo.