A ver si esto te sirve
Código PHP:
$intervalo = ceil ((numeropaginasamostrar/2)-1); // el ceil del numero de paginas a mostrar/2 - 1
// Calculamos desde qué número de página se mostrará
$desde = $pg - $intervalo;
// Calculamos hasta qué número de página se mostrará
$hasta = $pg + $intervalo;
if($desde < 1){
// Le sumamos la cantidad sobrante al final para mantener el número de enlaces que se quiere mostrar.
$hasta -= ($desde - 1);
// Establecemos $_pagi_nav_desde como 1.
$desde = 1;
}
if($hasta > $paginas){
// Le restamos la cantidad excedida al comienzo para mantener el número de enlaces que se quiere mostrar.
$desde -= ($hasta - $paginas);
// Establecemos $_pagi_nav_hasta como el total de páginas.
$hasta = $paginas;
// Hacemos el último ajuste verificando que al cambiar $_pagi_nav_desde no haya quedado con un valor no válido.
if($desde < 1){
$desde = 1;
}
En numerodepaginasamostrar tienes que poner un numero.
Y en el for:
Código PHP:
for ($i=$desde; $i<=$hasta; $i++){
A ver si no se me ha pasado nada ;)
Hasta luego