Ver Mensaje Individual
  #10 (permalink)  
Antiguo 26/06/2013, 11:35
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: problema con paginador al mostrar los enlaces

Cita:
Iniciado por pithon Ver Mensaje
guardamicorreo este el el codigo del paginador te lo posteo por si quieres ayudarme.

Código PHP:
Ver original
  1. $registros = 5;
  2. $paginas =isset($_GET['pagina']) ? $_GET['pagina'] : null;
  3.  
  4. if (!$paginas){
  5.     $comienzo = 0;
  6.     $paginas = 1;
  7. }else{
  8.     $comienzo = ($paginas - 1) * $registros;
  9. }
  10.  
  11. if(($paginas - 1) > 0){
  12.      echo "<a href=\"#\" onclick=\"paginador('".($paginas-1)."')\">< Anterior</a>";
  13. }
  14. for ($i=1; $i<=$total_paginas; $i++){
  15.    if ($paginas == $i){
  16.       echo "<b>".$paginas."</b>";
  17.    }else{
  18.       echo "<a href=\"#\" onclick=\"paginador('$i')\">$i</a>";
  19.    }
  20. }
  21. if(($paginas + 1)<=$total_paginas){
  22.     echo "<a href=\"#\" onclick=\"paginador('".($paginas+1)."')\">Siguiente ></a>";
  23. }
date cuenta que cuando calculas el valor para cada botón intermedio lo que haces es partir exactamente desde 1.

es un problema de matemáticas.

imagínate que calculas 100 páginas.

si te encuentras en la página nº 50 y quieres que por delante de ti siempre haya 5 páginas entonces lo que tienes que hacer es:

100 + 5 - 50 = 55.

vas a generar botones desde el 50 hasta el 55.

bien, esto en forma de código, cuando generas los botones intermedios sería algo así

Código PHP:
Ver original
  1. $botones_intermedios = ceil ($total_paginas + 5) - $paginas;
  2. for ($i = $paginas; $i<=$botones_intermedios; $i++)
  3. {
  4.     ?>
  5.        <a href="index.php?paginar=<?php echo $i ?"><?php echo $i ?></a>
  6.      <?php
  7. }

a ver si así te puede servir, pruébalo y si te reporta fallos dilo

EDITO me equivoqué.

prueba así

Código PHP:
Ver original
  1. $botones_intermedios =  $paginas + 5;
  2. for ($i = $paginas; $i<=$botones_intermedios; $i++)
  3. {
  4.     ?>
  5.        <a href="index.php?paginar=<?php echo $i ?"><?php echo $i ?></a>
  6.      <?php
  7. }

Última edición por guardarmicorreo; 26/06/2013 a las 11:49