Foros del Web » Programando para Internet » PHP »

Como acortar paginacion

Estas en el tema de Como acortar paginacion en el foro de PHP en Foros del Web. Buenas foro Tengo una duda del como puedo estar desapareciendo el numero de las paginas de mi paginación. Hasta ahorita hago de que cuando vaya ...
  #1 (permalink)  
Antiguo 05/03/2013, 16:04
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Pregunta Como acortar paginacion

Buenas foro

Tengo una duda del como puedo estar desapareciendo el numero de las paginas de mi paginación. Hasta ahorita hago de que cuando vaya clickeando hacia adelante vayan apareciendo las siguientes pero quisiera que se fueran desapareciendo las anteriores. Es decir:

1234
2345
3456

Espero haberme dado a entender este es lo que tengo de codigo:
Código PHP:
Ver original
  1. <?php
  2. require_once '../_clases/connection.class.php';
  3. require_once '../_clases/facturacion.class.php';
  4. $conn = new Connection();;
  5. $fact = new facturacion($conn);
  6. sleep(3);
  7. ?>
  8. <form action="procesos.php" method="POST" >
  9. <table>
  10. <thead>
  11.     <tr>
  12.         <th><input type="checkbox" disabled/></th>
  13.         <th>Cliente</th>
  14.         <th>No. folio</th>
  15.         <th>Fecha captura</th>
  16.         <th>Monto</th>
  17.         <th>Fecha pago</th>
  18.         <th>Estado</th>
  19.         <th>Asociado</th>
  20.     </tr>
  21. </thead>
  22. <tbody>
  23.     <?php
  24.     $limit = 10;
  25.  
  26.     // pagina pedida
  27.     $pag = (int) $_GET["pag"];
  28.     if ($pag < 1)
  29.     {
  30.     $pag = 1;
  31.     }
  32.     $offset = ($pag-1) * $limit;
  33.     $limite = 3;
  34.  
  35.     // Total de registros sin limit
  36.     $total = $fact->totalRegistros($_REQUEST['asociado']);
  37.     echo $fact->estructuraDatos($_REQUEST['asociado'],$offset,$limit); ?>
  38. </tbody>
  39. </table>
  40.     <br />
  41.     <div class="paginacion">
  42.     <?php
  43.         $totalPag = ceil($total/$limit);
  44.         $links = array();
  45.         for( $i=1; $i<=$totalPag ; $i++):
  46.             if ($i <= $limite + $pag):
  47.                 $links[] = "<a href='?pag=".$i."&asociado=".$_REQUEST['asociado']."'>$i</a>";
  48.             else:
  49.                 break;
  50.             endif;
  51.         endfor;
  52.         echo implode(" ", $links);
  53.     ?>
  54.     </div>
  55. <div class="accion-fact">
  56.     <select name="accion">
  57.         <option selected="selected">.:: Accion .::</option>
  58.         <option value="pagada">Pagada</option>
  59.         <option value="cancelada">Cancelada</option>
  60.     </select><br /><br />
  61.     <input class="submit" type="submit" value="Guardar cambios" />
  62. </div>
  63. </form>

De antemano muchas gracias...
__________________
Lo imposible solo cuesta un poco mas
  #2 (permalink)  
Antiguo 05/03/2013, 16:44
Avatar de 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: Como acortar paginacion

Precisamente, hace unos días había un tema al respecto: http://www.forosdelweb.com/f18/como-...7/#post4379131
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 05/03/2013, 17:12
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Como acortar paginacion

He seguido lo que se dice ahi pero no he podido hacer que desaparescan los primeros numeros conforme voy avanzando
__________________
Lo imposible solo cuesta un poco mas
  #4 (permalink)  
Antiguo 05/03/2013, 17:23
Avatar de 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: Como acortar paginacion

Coloca el código que hiciste siguiendo esos pasos, tal vez podamos decirte lo que está mal.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 06/03/2013, 08:08
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Como acortar paginacion

Ese es mi codigo hasta ahorita...

Código PHP:
Ver original
  1. <?php
  2.     $limit = 10;
  3.  
  4.     // pagina pedida
  5.     $pag = (int) $_GET["pag"];
  6.     if ($pag < 1)
  7.     {
  8.     $pag = 1;
  9.     }
  10.     $offset = ($pag-1) * $limit;
  11.     $limite = 3;
  12.  
  13.     // Total de registros sin limit
  14.     $total = $fact->totalRegistros($_REQUEST['asociado']);
  15.     echo $fact->estructuraDatos($_REQUEST['asociado'],$offset,$limit); ?>
  16.  
  17. <div class="paginacion">
  18.     <?php
  19.         $totalPag = ceil($total/$limit);
  20.         $links = array();
  21.        
  22.         if($pag>1)
  23.             echo  "<a href='?pag=".($pag-1)."&asociado=".$_REQUEST['asociado']."' >Anterior</a> ";
  24.         for( $i=1; $i<=$totalPag ; $i++):
  25.             if ($i <= $limite + $pag):
  26.                 $links[] = "<a href='?pag=".$i."&asociado=".$_REQUEST['asociado']."'>$i</a>";
  27.             else:
  28.                 break;
  29.             endif;
  30.         endfor;
  31.         echo implode(" ", $links);
  32.        
  33.         if($pag<$totalPag)
  34.             echo  "&nbsp;<a href='?pag=".($pag+1)."&asociado=".$_REQUEST['asociado']."' > Siguiente</a>";
  35.     ?>
  36.     </div>
__________________
Lo imposible solo cuesta un poco mas
  #6 (permalink)  
Antiguo 06/03/2013, 12:12
Avatar de 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: Como acortar paginacion

Es lo mismo que ya tenías...

Dónde está la parte en que "He seguido lo que se dice ahi pero no he podido hacer que desaparescan los primeros numeros conforme voy avanzando" (sic)?

Es lógico que siempre aparezcan las primeras páginas si tienes un for($i = 1; $i <= $totalPag; $i++)
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 06/03/2013, 13:36
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Como acortar paginacion

Y como tendria que quedar entonces si no es sobre el total de paginas como deberia de ser no tengo la mas remota idea ya intente hacer una variable de pag2 pero no me funciona
__________________
Lo imposible solo cuesta un poco mas
  #8 (permalink)  
Antiguo 06/03/2013, 14:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Como acortar paginacion

Pues tal como te indica en el tema Triby, tienes que hacer ese cálculo, desde donde vas a iniciar y hasta donde vas a imprimir paginas, ya tienes todas tus variables, si ya sabes el número de paginas, y la pagina actual, es tan simple con que sigas el algoritmo que te indico Triby.

Saludos.

Etiquetas: acortar, paginacion, registro, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:01.