Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/04/2014, 19:25
oso_reyes
 
Fecha de Ingreso: octubre-2013
Ubicación: Loreto, Zacatecas
Mensajes: 24
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Paginación PHP

Cita:
Iniciado por Triby Ver Mensaje
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!
Gracias, me guiare de la forma en lo que lo has planteado