Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/02/2011, 20:42
Leogl
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Paginar resultados de consultas PHP MYSQL

Código PHP:
Ver original
  1. <?php
  2. /// Listado de Contribuyentes  y Filtrado de busqueda de acuerdo a apellido.
  3. error_reporting(E_ERROR);
  4. include ('conectar.php');
  5. $base="$dbbase";
  6. $con=$conectar;
  7. mysql_select_db($base,$con);
  8. mysql_query ("SET NAMES 'utf8'");
  9.  
  10. if (!isset($pg))
  11. $pg = 0; // $pg es la pagina actual
  12. $cantidad=300; // cantidad de resultados por pgina
  13. $inicial = $pg * $cantidad;
  14.  
  15. //defino el filtro de busqueda del muni principal, y con if decido que camino
  16. if ($_POST["criterio"]==""){
  17.         $pegar = "SELECT * FROM clientes ORDER BY apellido LIMIT $inicial,$cantidad";
  18.     }else{
  19.     // cargo esta variable que uso luego para buscar con like.
  20.     $busquedalike=$_POST['criterio'];
  21.     $pegar = "SELECT * FROM clientes where apellido LIKE '%$busquedalike%' or CUT LIKE '%$busquedalike%' ORDER BY apellido LIMIT $inicial,$cantidad";
  22.     }
  23.  
  24. $cad = mysql_db_query($base,$pegar) or die (mysql_error());
  25. mysql_query ("SET NAMES 'utf8'");
  26.  
  27. $contar = "SELECT * FROM clientes ORDER BY apellido";
  28. $contarok= mysql_db_query($base,$contar);
  29. $total_records = mysql_num_rows($contarok);
  30. $pages = intval($total_records / $cantidad);
  31. // Imprimiendo los resultados
  32. //echo "<table width='100%'>";
  33. //define los datos de las columnas.
  34. echo "<table border = '1'> \n";
  35.  echo "<tr><td><font size=1>id</td><td><font size=1>Apellido___</td><td><font size=1>Nombre_____</td><td><font size=1>CUT____</td><td><font size=1>OP_</td></font></tr> \n";
  36.  
  37.  
  38. //<td align="middle" bgcolor="#DDDDDD" onmouseover='this.style.background="#FF0000"' onmouseout='this.style.background="#DDDDDD"'>
  39.  
  40. while($array = mysql_fetch_array($cad)) {
  41.  
  42.    if ($colorfila==0){
  43.        $color= "#DEDEBE";
  44.        $colorfila=1;
  45.     }else{
  46.        $color="#F0F0F0";
  47.        $colorfila=0;
  48.     }
  49.     ///poniendo al principio el link se hace toda la fila con el id, tendria que ver la tecnica para que cambie de color se gun la seleccion.
  50.     //aqui se procede a mostrar la informacion recolectada anterormente
  51.     echo "<tr><td bgcolor='".$color."'><font face='Arial' size='1'>".$array['id']."</font></td><td><font size=1>".$array["apellido"]."</font></td><td><font size=1>".$array["nombre"]."</font></td><td><font size=1>".$array["CUT"]."</font></td><td>".$fetch["-"]."<font color='#0000ff'>
  52. </font>font size=1>[--]</a></td></tr> \n";
  53.  
  54.  
  55.  
  56.  ///cargo variables para usar en los botos de estado de cuenta.
  57. $_SESSION["codigocliente"]=$fetch['id'];
  58.  
  59.  
  60. //llamo al modulo de personal
  61. }
  62. echo "</table>";
  63.  
  64. // Cerramos la conexin a la base
  65. $con=mysql_close($con);
  66.  
  67. // Creando los enlaces de paginacin
  68. echo "<p>";
  69. if ($pg <> 0)
  70. {
  71. $url = $pg - 1;
  72. echo "<a href='principal.php?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
  73. }
  74. else {
  75. echo " ";
  76. }
  77.  
  78. for ($i = 0; $i<($pages + 1); $i++) {
  79. if ($i == $pg) {
  80. //echo "<font face=Arial size=1 color=ff0000><b>&nbsp;$i&nbsp;</b></font>";
  81. }
  82. else {
  83. //echo "<a href='principal.php?pg=".$i."'>".$i."</a>&nbsp;";
  84. }
  85. }
  86.  
  87. if ($pg < $pages) {
  88. $url = $pg + 1;
  89. //echo "<a href='principal.php?pg=".$url."'>Siguiente &raquo;</a>";
  90. }
  91. else {
  92. echo " ";
  93. }
  94. echo "</p>";
  95. ?>