Tema: Paginación
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/07/2014, 04:06
Avatar de MaNuX0218
MaNuX0218
 
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Paginación

Hola tengo echo una paginación y quiero que cuando tengo más de 15 páginas se corte para no alargarlo tanto, pongo un ejemplo por si no se me entiende.

Ejemplo que tengo para mostrar 25 páginas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Y lo que quiero es que al haber más de 15 aparezca:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 25

y claro que cuando llege a seleccionar el 15, me aparezca:
1 ... 15 16 17 18 19 20 21 22 23 24 25

No se si es un metodo adecuado de hacer, pero yo no consigo que me salga, si hay un metodo mejor para realizar esto o parecido seria bueno también. Lo que intento es que no se agrande las paginas ya que me descuadra el diseño cuando hay más de 15 páginas.


Aquí os dejo el código:

Código PHP:
Ver original
  1. if($respuesta > 0) { $ultima_pagina = floor($ultima_pagina) + 1; }
  2.    
  3.     $html .= '<div id="pagination" style="position:absolute">';
  4.    
  5.     $html .= '<div class="pag">';
  6.  
  7.     if($actual > 1) {
  8.        
  9.         $html .= '<a href="?sec='.$_GET['sec'].'">Primera</a>';
  10.  
  11.         $html .= '<a href="?sec='.$_GET['sec'].'&pg='.$pagina_anteior.'" class="an">Anterior</a>';
  12.  
  13.     }else {
  14.        
  15.         $html .= '<a langhref="#" class="dis">Primera</a>';
  16.  
  17.         $html .= '<a langhref="#" class="dis">Anterior</a>';
  18.        
  19.     }
  20.    
  21.     for($i = 1; $i <= $ultima_pagina; $i++) {
  22.        
  23.         if($i == $actual) {
  24.        
  25.             $html .= '<a langhref="#" class="sel">'.$i.'</a>';
  26.        
  27.         }else {
  28.                
  29.             $html .= '<a href="?sec='.$_GET['sec'].'&pg='.$i.'">'.$i.'</a>';
  30.            
  31.            
  32.            
  33.         }
  34.        
  35.     }
  36.  
  37.     if($actual < $ultima_pagina) {
  38.  
  39.         $html .= '<a href="?sec='.$_GET['sec'].'&pg='.$pagina_siguiente.'" class="sg">Siguiente</a>';
  40.    
  41.         $html .= '<a href="?sec='.$_GET['sec'].'&pg='.$ultima_pagina.'">Última</a>';
  42.  
  43.     }else {
  44.        
  45.         $html .= '<a langhref="#" class="dis">Siguiente</a>';
  46.    
  47.         $html .= '<a langhref="#" class="dis">Última</a>';
  48.        
  49.     }
  50.    
  51.     $html .= '<div style="float:right; margin-top:5px">&nbsp; Página '.$actual.' de '.$ultima_pagina.' &nbsp;</div>';
  52.        
  53.     $html .= '</div>';
  54.    
  55.     $html .= '</div>';

Un saludo.