Tema: Paginador
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/10/2010, 14:03
Avatar de mcun
mcun
 
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: Paginador

Te dejo uno que yo uso en ocasiones la idea original la tome hace un tiempo de la web pero la modifique para que se parezca a la paginacion de google. es simple pero efectivo y modificable ;)

Código PHP:
Ver original
  1. <?php
  2. $pg =$_GET['pg'];
  3. $base="db";
  4. $con=mysql_connect('xxx','xxx','xxx');
  5. $db=mysql_select_db($base,$con);
  6.  
  7. if (!isset($pg))  {$pg = 0; }// $pg es la pagina actual
  8. $cantidad=10; // cantidad de resultados por página
  9. $inicial = $pg * $cantidad;
  10.  
  11. $pegar = "SELECT * FROM Articulos ORDER BY precio LIMIT $inicial,$cantidad";
  12. $cad = mysql_db_query($base,$pegar) or die (mysql_error());
  13.  
  14. $contar = "SELECT * FROM Articulos ORDER BY precio";
  15. $contarok= mysql_db_query($base,$contar);
  16. $total_records = mysql_num_rows($contarok);
  17. $pages = intval($total_records / $cantidad);
  18. $pages = intval(round($total_records / $cantidad));
  19. if (($total_records / $cantidad)> intval($total_records / $cantidad))
  20.              {$pages = intval($total_records / $cantidad)+1;}
  21.      else {$pages = intval($total_records / $cantidad)+1;}
  22.  
  23. // Imprimiendo los resultados
  24. echo "<table width='100%'>";
  25.  
  26. while($array = mysql_fetch_array($cad)) {
  27.  
  28.    if ($colorfila==0){
  29.        $color= "#DEDEBE";
  30.        $colorfila=1;
  31.     }else{
  32.        $color="#F0F0F0";
  33.        $colorfila=0;
  34.     }
  35.     echo "<tr><td bgcolor='".$color."'><font face='Arial' size='2'>".$array['precio']."</font></td></tr>";
  36. }
  37. echo "</table>";
  38. // Cerramos la conexión a la base
  39. $con=mysql_close($con);
  40.  
  41. // Creando los enlaces de paginación
  42. echo "<p>";
  43. if ($pg <> 0)
  44. {
  45. $url = $pg - 1;
  46. echo "<a href='paginacion.php?pg=".$url."'> Anterior</a> ";
  47. }
  48. else { echo "Inicio "; }
  49.  
  50. if (10 < $pages  ){
  51.  
  52.     for ($i = 0; $i<($pages + 1); $i++) {
  53.  
  54.         if ($i == $pg and $pg <= ($pages - 2)) {
  55.                 // este if esta pronto !! no tocar
  56.                 if($pg <= ($pages -2) && $pg >= 8){
  57.                 $p=$pg - 3;
  58.                 echo "<a href='paginacion.php?pg=".$p."'>".$p.".....</a> ";
  59.                 }
  60.                 if($pg <= ($pages -4) ){
  61.                 $p=$pg - 3;
  62.                 $i + 1;
  63.                 $m1=$i + 1;
  64.                 $m2=$m1 + 1;
  65.                 $m3=$m2 +1;
  66.                
  67.                 echo "<a href='paginacion.php?pg=".$m1."'>".$m1."</a> ";
  68.                 echo "<a href='paginacion.php?pg=".$m2."'>".$m2."</a> ";
  69.                 echo "<a href='paginacion.php?pg=".$m3."'>".$m3."</a> ";
  70.      
  71.              }
  72.                    
  73.                     echo $pg;
  74.                     $w = $pg +1;
  75.                     echo $pages;
  76.                     $ww=$pages -3;
  77.                    
  78.                         if($w < $pages && $w > $ww){
  79.                             echo "\t <a href='paginacion.php?pg=".$w."'>es".$w."</a> ";
  80.    
  81.                         }
  82.                        
  83.         } // end else
  84.     }// end for
  85. }// end if
  86.  if(10 > $pages) {
  87.  
  88.     echo 'hay 10 paginas:' ;
  89.  
  90. }// end else
  91.  
  92.  
  93. if ($pg < ($pages - 1)) {
  94.     $url = $pg + 1;
  95.         echo "\t <a href='paginacion.php?pg=".$url."'>Siguiente</a>";
  96.     }
  97.     else {
  98.         echo "Fin  ";
  99.     }
  100. echo "</p>";
  101. ?>