Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/04/2014, 18:57
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Paginación PHP

Aquí va una idea, mostrando 9 páginas, de forma que la actual se muestre en medio cuando sea posible, en seudo-código y asumiendo algunos resultados:

Código:
pag_lados = 4
pag_total = 20
pag_actual = 5

si pag_total < ((pag_lados * 2) + 1) {
      // No calculamos si no es necesario
      inicio = 1
      fin = pag_total
} else {
      // Calculamos y ajustamos si sobrepasamos los límites
      inicio = pag_actual - pag_lados
      si inicio < 1 {
            inicio = 1
      }
      fin = inicio + (pag_lados * 2)
      si fin > pag_total {
           fin = pag_total
           inicio = fin - (pag_lados * 2)
      }
}

// Mostrar página de inicio y página anterior solo si pag_actual es mayor que 1
si pag_actual > 1 {
      echo "Inicio" // Cada una con su enlace, obviamente
      echo "Anterior"
}

// Ahora mostramos los enlaces de cada página
for i = inicio; i <= fin; i++ {
       echo i // con su respectivo enlace
}

// Mostrar página siguiente y final solo si pag_actual es menor que pag_total
si pag_actual < pag_total {
       echo "Siguiente"
       echo "Fin"
}
Debería funcionar... o eso creo!
__________________
- León, Guanajuato
- GV-Foto