Foros del Web » Programando para Internet » PHP »

Paginar resultados de consultas PHP MYSQL

Estas en el tema de Paginar resultados de consultas PHP MYSQL en el foro de PHP en Foros del Web. que tal amigos: quisiera paginar los resultados del listado de productos de mi base de datos..... todo bien me los muestra.....pero quisiera paginar. los resultados..... ...
  #1 (permalink)  
Antiguo 10/02/2011, 20:20
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Paginar resultados de consultas PHP MYSQL

que tal amigos:

quisiera paginar los resultados del listado de productos de mi base de datos.....
todo bien me los muestra.....pero quisiera paginar. los resultados.....
que me muestre abajo de la tabla donde se muestran los resultados los indices de las paginas para no ver todoslos registros en una misma pagina...

aca les dejo el codigo...

?php

include("conectar.php");

$rst_productos=mysql_query("SELECT *FROM productos ORDER BY nombre_prod");
$num_registros=mysql_num_rows($rst_productos);

if($num_registros=0)
{
echo " No existen registros";
exit(); //no ahy registros en la base de datos
}

$registros=5; //el numero de registro que se mostrara en pantalla en este 5 por cada pagina
$pagina=$_GET['num']; // se recibe desde la url

if(is_numeric($pagina))

$inicio=(($pagina-1)*$registros);

else

$inicio=0; // si no es numerico por defecto sera 0
$rst_productos=mysql_query("SELECT *FROM productos ORDER BY nombre_prod LIMIT $inicio, $registros");
$paginas=ceil($num_registros/$registros);

?>



<head>
<title>Listar Productos</title>
<style type="text/css">
<!--
.Estilo6 {color: #FFFFFF; font-weight: bold; }
-->
</style>
</head>

<body>
<h3 align="center"> Listado Productos Einlab</h3>

<table align="center" width="525" border="0" bgcolor="#0066FF">
<tr>
<td width="79" bgcolor="#0033CC"><span class="Estilo6">Cod Prod</span></td>
<td width="237" bgcolor="#0033CC"><span class="Estilo6">Nombre Producto</span></td>
<td width="87" bgcolor="#0033CC"><span class="Estilo6">Marca</span></td>
<td width="104" bgcolor="#0033CC"><span class="Estilo6">Modelo</span></td>
</tr>

<?php

while($fila=mysql_fetch_array($rst_productos))
{
?>
<tr>
<td width="79" bgcolor="#CCCCCC" ><?php echo $fila[0];?></td>
<td width="237" bgcolor="#CCCCCC" ><?php echo $fila["nombre_prod"];?></td>
<td width="87" bgcolor="#CCCCCC" ><?php echo $fila["marca_prod"];?></td>
<td width="104" bgcolor="#CCCCCC"><?php echo $fila["marca_prod"];?></td>
</tr>
<?php
}
?>
</table>


<div align="center">
<?php

for($cont=1;$cont<=$paginas;$cont++)
{
echo "<a href='listar_prod.php?num=" .$cont. "'>$cont</a>";
}
?>
</div>
</body>
</html>


LOS REGISTROS ME LOS MUESTRA CORRECTAMENTE.....5 EN ESTE CASO.....
EL PROBLEMA ES QUE NO ME MUESTRA LOS INDICES ABAJO DE LA TABLA PARA VER EL RESTO DE REGISTROS.....

GRACIAS DE ANTEMANO
  #2 (permalink)  
Antiguo 10/02/2011, 20:42
 
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. ?>

Etiquetas: mysql, paginar, resultados
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 07:33.