Foros del Web » Programando para Internet » PHP »

"plugin" para paginacion

Estas en el tema de "plugin" para paginacion en el foro de PHP en Foros del Web. Hola acabo de terminar un "plugin" para desarrolladores Php, lo que hace la Script Estoy seguro que se lo puede mejorar al codigo asique espero ...
  #1 (permalink)  
Antiguo 29/04/2012, 16:52
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 9 años, 9 meses
Puntos: 6
"plugin" para paginacion

Hola acabo de terminar un "plugin" para desarrolladores Php, lo que hace la Script

Estoy seguro que se lo puede mejorar al codigo asique espero que alguien lo vea y me deje su opinion. Me gustaria hacerlo orientado a objetos, es por eso que necesito su opinionj y si me pueden orientar para hacerlo.
Pueden descargarlo de esta direccion:

http://www.jcdesignweb.com.ar/paginator_jcdesign.rar




Saludos!!
  #2 (permalink)  
Antiguo 30/04/2012, 17:56
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.000
Antigüedad: 11 años, 6 meses
Puntos: 2197
Respuesta: "plugin" para paginacion

Es mejor que coloques aquí mismo el código, aunque tenga que ser en varios mensajes; es más cómodo para los demás usuarios y cualquier comentario o corrección quedará también aquí.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 30/04/2012, 18:12
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 9 años, 9 meses
Puntos: 6
Respuesta: "plugin" para paginacion

Entiendo..

Modificar las variables $option_to, $table, $field

$option_to es un INT para liminar la cantidad de registros a mostrar por pagina
$table = es nuestra tabla de la base de datos
$field = es nuestro campo de la bd


pagin.php
Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <link rel="stylesheet" type="text/css" href="styles.css"></link>
  4. </head>
  5. <body>
  6.  
  7. <?php
  8. /*
  9. *   Date:   29/04/2012
  10. */
  11.  
  12.  
  13. //       ## Complete this Three vars
  14. $option_to = 4;
  15. $table = "";
  16. $field = "";
  17.  
  18. //connection at your databases
  19. $connect = mysql_connect("localhost", "root", "") or die("Problemas en la conexion");
  20. mysql_select_db("world", $connect) or die ("Problema al seleccionar bd");
  21.  
  22.  
  23.  
  24. if(isset($_GET['id'])){
  25.     $id = $_GET['id'];
  26.  
  27.     $id2 = ($id * $option_to) - $option_to;  
  28.  
  29. }else{
  30.     $id = 1;
  31.     $id2 = 0;
  32. }
  33.  
  34. $sql = "SELECT {$field} FROM {$table} LIMIT {$id2}, {$option_to}";
  35. $query = mysql_query($sql,$connect) or die(mysql_error());
  36.  
  37. $query_count = mysql_query("SELECT {$field} FROM {$table}",$connect) or die(mysql_error());
  38.  
  39. while($con = mysql_fetch_array($query)){
  40.  
  41.     echo $con['nombre']."<br />";
  42. }
  43.  
  44. $con = mysql_fetch_array($query);
  45.  
  46. $count_total = mysql_num_rows($query_count);
  47. if($id == 1){
  48.     $prev = "#";
  49. }else{
  50.     $id2 = $id - 1;
  51.     $prev = "?id=".$id2;
  52. }
  53. ?>
  54.  
  55. <div id="paginator">
  56. <a href="pagin.php<?php echo $prev;?>"><</a>
  57. <?php
  58.  
  59. $h = $id * $option_to;
  60.  
  61. if($count_total == 0){
  62.     echo "no records";
  63. }elseif($count_total <= $option_to){
  64.  
  65.     echo "<a class='idnow' href=pagin.php?id=1>1</a>";
  66.    
  67. }elseif($count_total >= $option_to+1 AND $count_total <= $option_to*2){
  68.     echo "<a class='idnow' href=pagin.php?id=1>1</a>";
  69.     echo "<a href=pagin.php?id=2>2</a>";
  70.  
  71. }elseif($id == 2 AND $count_total >= $option_to*2){
  72.  
  73.         $number_ini = $id - 1;
  74.         $number_last = $id + 2;
  75.         numbers_paginator($number_ini,$number_last,2);
  76.  
  77. }elseif($count_total > $option_to*2 AND $id != 1){
  78.     if($h < $count_total){
  79.  
  80.         $number_ini = $id - 1;
  81.         $number_last = $id + 2;
  82.         numbers_paginator($number_ini,$number_last,2);
  83.  
  84.     }else{
  85.  
  86.         $number_ini = $id - 2;
  87.         $number_last = $id + 1;
  88.  
  89.         numbers_paginator($number_ini,$number_last,3);
  90.  
  91.     }  
  92.    
  93. }elseif($id == 1 AND $count_total > $option_to*2){
  94.  
  95.     $number_last = $id + 3;
  96.    
  97.     numbers_paginator($id,$number_last,1);
  98. }else{
  99.     echo "<a href=pagin.php?id=1>1</a>";
  100.     echo "<a href=pagin.php?id=2>2</a>";
  101.  
  102. }
  103.  
  104. // Calcular el avance
  105.  
  106. $ultimo = ceil($count_total / $option_to);
  107.  
  108. if($id == $ultimo){
  109.     $next = "#";
  110. }else{
  111.     $id = $id+1;
  112.     $next = "?id=".$id;
  113. }
  114.  
  115. ?>
  116.  
  117.     <a href="pagin.php<?php echo $next;?>">></a>
  118. </div>
  119.  
  120.  
  121. </div>
  122. <?php
  123.     function numbers_paginator($x1,$x2,$mark){
  124.         $_i = 0;
  125.         for($i=$x1;$i<$x2;$i++){
  126.         $_i++;
  127.        
  128.             if($_i == $mark){
  129.                 echo "<a class='idnow' href=pagin.php?id=".$i.">".$i."</a>";
  130.             }else{
  131.                 echo "<a href=pagin.php?id=".$i.">".$i."</a>";
  132.             }
  133.            
  134.         }
  135.    
  136.     }
  137.  
  138.  
  139. ?>
  140. </body>
  141. </html>


Estos son los Estilos...


styles.css
Código CSS:
Ver original
  1. /*  Styles  */
  2.     #paginator{
  3.         width: 200px;
  4.        
  5.     }
  6.     #paginator a{
  7.         background: url("background_green_more.png") no-repeat;
  8.         background-position: 0px -21px;
  9.         color: #000;
  10.         font-size: 11px;
  11.         height: 20px;
  12.         text-decoration: none;
  13.         padding: 0.2em 0.5em;
  14.         width: 22px;
  15.    
  16.     }
  17.     #paginator a:hover{
  18.         background-position: 0px 1.5px;
  19.     }
  20.  
  21.     #paginator a span{
  22.         font-weight: bold;
  23.        
  24.     }
  25.     .Claas_may{
  26.         padding: 0.2em 0.3em !important;
  27.    
  28.     }
  29.     .idnow{
  30.         background-position: 0px 1.5px !important;
  31.     }

Última edición por juan_14nob; 02/01/2015 a las 16:26 Razón: le puse los estilos

Etiquetas: paginacion
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 05:34.