Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP y MYSQL

Estas en el tema de PHP y MYSQL en el foro de PHP en Foros del Web. Estoy tratando de paginar los resultados de una consulta de mysql en php. La pagina muestra, limita y crea el link solo a la primera ...
  #1 (permalink)  
Antiguo 13/01/2014, 09:12
 
Fecha de Ingreso: enero-2014
Ubicación: USA
Mensajes: 50
Antigüedad: 10 años, 3 meses
Puntos: 0
PHP y MYSQL

Estoy tratando de paginar los resultados de una consulta de mysql en php. La pagina muestra, limita y crea el link solo a la primera pagina y no a las restantes. No me aparece ningun tipo de error. Adjunto el código.



Gracias por la colaboracion!


Código PHP:
<?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, 12:31
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: PHP y MYSQL

hola amigo hay miles de paginadores hechos en php, nadie se gasta en hacer paginadores

saludos!
  #3 (permalink)  
Antiguo 13/01/2014, 16:46
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: PHP y MYSQL

<saludos>
Eso te ocurre porque el número de registros lo calculas a partir de una consulta que ya va limitada.

La solución es hacer una consulta previa a la que ya tienes, donde traigas el total verdadero de registros de la consulta sin usar el limit (puede ser con un count para optimizar) y que esta consulta sea la que le de valor a la variable de número de registros

Suerte con eso!

</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: fecha, html, mysql, registro, 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:06.