Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/09/2011, 15:36
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Como mejorar paginación?

Te pongo un pseudocódigo para el siguiente formato:
Primera ... 3 4 5 ... Última
Código PHP:
Ver original
  1. Si $total_paginas == 1:
  2.    // Ni si quiera pongas paginación (queda mejor si con una sola página ni te sale)
  3. Si no si $total_paginas > 1:
  4.    // Primera: <a ?pagina=1>Primera</a>
  5.    ...
  6.    Si $pagina != 1:
  7.       // Anterior: <a ?pagina=$pagina - 1>$pagina - 1</a>
  8.    <strong>$pagina</strong>
  9.    Si $pagina != $total_paginas
  10.       // Siguiente: <a ?pagina=$pagina + 1>$pagina + 1</a>
  11.    ...
  12.    // Última: ?pagina=$total_paginas
  13. Si no:
  14.   // Error, no puede ser 0 (significaría que la consulta no ha devuelto nada).

Con este pseudocódigo, además, si la página es la primera no te aparece la anterior y, si es la última, tampoco te aparece la siguiente. Si te das cuenta, he eliminado el bucle, no te hace falta si sólo vas a poner anterior y siguiente, si quieres poner más de anterior y siguiente, por ejemplo, las 6 más cercanas (3 hacia atrás, 3 hacia adelante) entonces sí lo necesitarás.

Hay muchas formas de hacerlo según quieras dejar el final, puedes aumentarlo, quitar cosas, poner otras, lo único que tienes que tener claro dónde tienes cada valor y qué significa.

Un saludo, espero que te sirva.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?