Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Paginar resultados de Mysql en PHP

Estas en el tema de Paginar resultados de Mysql en PHP en el foro de PHP en Foros del Web. Buenas noches! Estoy tratando de mostrar y organizar los resultado de una búsqueda Mysql en php. He logrado que se muestren los resultados y poner ...
  #1 (permalink)  
Antiguo 12/01/2014, 21:26
 
Fecha de Ingreso: enero-2014
Ubicación: USA
Mensajes: 50
Antigüedad: 10 años, 11 meses
Puntos: 0
Paginar resultados de Mysql en PHP

Buenas noches!

Estoy tratando de mostrar y organizar los resultado de una búsqueda Mysql en php. He logrado que se muestren los resultados y poner colores diferenciales a las filas. Ahora trato de limitar la cantidad de registros por pagina ademas de poner los numeros para la navegación de la consulta. llevo solo 10 aprendiendo PHP y pueden haber errores básicos o simples a los ojos de muchos. Las personas que me quieran colaborar les agradezco inmensamente los que ingresan a cuestionar de mala forma por favor abstenerse de comentar.


Gracias.


Aclaro: No aparece ningún tipo de error, sin embargo, no me da la numeración que debería mostrar para 12 registros, 4 por pagina. Solo me muestra la pagina 1 de navegación y no las otras 2. Creo que el error esta en el for pero aun no logro entender su mecánica.

Código PHP:
<?php


$con 
= new mysqli("localhost""andres","password""cte");

if (
$con-> connect_errno) {
echo 
"No se pudo conectar a Mysql(".$con->connect_errno.")"$con->connect_error;

}
echo 
$con->host_info ."\n";

$con = new mysqli("127.0.0.1""andres","password","cte" );
if (
$con-> connect_errno) {    
echo 
"No se pudo conectar a Mysql:(".$con->connect_errno.")"$con->connect_error;
}

?>
  
  <?php

$registros
=4;
$pagina=$_GET["num"];
if (
is_numeric($pagina))
$inicio=(($pagina-1)*$registros);
else 
$inicio=0;
$busqueda=$con->query("SELECT * FROM clientes C INNER JOIN producto P ON C.serial  = P.serial ORDER BY estado LIMIT $inicio,$registros"); {
    
$num_registros $busqueda->num_rows;
}

$paginas ceil ($num_registros/$registros);

for (
$cont=1;$cont<=$paginas;$cont++)
{
 echo 
"<a href='consultapaginada.php?num=".$cont."'>$cont</a>";

}


echo 
"<table border=1>
<tr>
<th>Cliente</th>
<th>Cedula</th>
<th>Orden numero</th>
<th>Email</th>
<th>Barrio</th>
<th>Telefono</th>
<th>Producto</th>
<th>Marca</th>
<th>Almacen</th>
<th>Dano</th>
<th>Fecha de recepcion</th>
<th>Tecnico</th>
<th>Estado</th>
<th>Sede</th>
<th>Fecha de entrega</th>
</tr>"
;
$rowColors = Array('#A6A6FF','#FFFFFF'); $nRow 0;
while (
$muestra=$busqueda->fetch_array()){
echo 
'<tr style="background-color:'.$rowColors[$nRow++ % count($rowColors)].';">';

echo 
'<td>' .$muestra['cliente'].'</td>';
echo 
'<td>' .$muestra['cedula']. '</td>';
echo 
'<td>' .$muestra['serial']. '</td>';
echo 
'<td>' .$muestra['email']. '</td>';
echo 
'<td>' .$muestra['barrio'].'</td>';
echo 
'<td>' .$muestra['telefono']. '</td>';
echo 
'<td>' .$muestra['producto']. '</td>';
echo 
'<td>' .$muestra['marca']. '</td>';
echo 
'<td>' .$muestra['almacen']. '</td>';
echo 
'<td>' .$muestra['dano'].'</td>';
echo 
'<td>' .$muestra['fecharecepcion']. '</td>';
echo 
'<td>' .$muestra['tecnico']. '</td>';
echo 
'<td>' .$muestra['estado']. '</td>';
echo 
'<td>' .$muestra['sede']. '</td>';
echo 
'<td>' .$muestra['entregaacliente']. '</td>';


}

mysqli_close ($con)

?>
  
  
  
</body>
</html>
  #2 (permalink)  
Antiguo 13/01/2014, 06:45
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años
Puntos: 84
Respuesta: Paginar resultados de Mysql en PHP

Tal vez lo que hablé hace unos días te sirva para aprender.

http://www.forosdelweb.com/f18/pagin...rarlo-1086890/

funciona de la siguiente manera:

a la clase le debes pasar por parámetro el total de entradas que hay en la tabla y la página actual en la que te encuentras (0 por defecto si no has iniciado ninguna página)

en la consulta SQL debes poner el limit limit_since, limit_result_set generado por la propia clase y ya tienes los datos para tu paginacion. ya solo te quedaría crear los enlaces con sus respectivos href, también generados por la clase y listo.

si no sabes utilizar clases de PHP, entonces puedes utilizar los cálculos de la clase para saber qué requisitos mínimos debe tener una paginación para calcular. puedes investigar los bucles/loops para saber cómo funcionan y se generan los datos.

destripa la clase a tu antojo y conoce limit de mysql y mysqli_num_rows o en su defecto COUNT(*) de mysql.

saludos! :D
__________________
Ayúdame a hacerlo por mi mismo.

Etiquetas: fecha, html, mysql, paginar, registro, resultados, select
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 11:49.