Foros del Web » Programando para Internet » PHP »

paginador: ayuda urgente porfavor

Estas en el tema de paginador: ayuda urgente porfavor en el foro de PHP en Foros del Web. Hola: soy muy novato en todo esto y agradezco mucho vuestra ayuda. necesito para paginar una consulta a mas de una table en mi base ...
  #1 (permalink)  
Antiguo 15/03/2005, 12:26
 
Fecha de Ingreso: marzo-2005
Mensajes: 53
Antigüedad: 19 años, 1 mes
Puntos: 0
Exclamación paginador: ayuda urgente porfavor

Hola:
soy muy novato en todo esto y agradezco mucho vuestra ayuda.
necesito para paginar una consulta a mas de una table en mi base de datos
he recorrido al paginator 1.6 de JP, pero se ve cual es mi nivel porque me ha sido imposible conseguirlo.
abajo adjunto el codigo de la consulta y el resultado que consigo es un listado grande de una sola pagina.
alguien me puede decir como hacer para paginarlo?

muchisimas gracias


<?php

$conn = mysql_connect("x.com", "xxxx", "xxxx"); // datos SQL
mysql_select_db("xxxxx", $conn); // Nombre de la B.D

$sql = "SELECT * FROM products_to_categories ORDER BY products_id";
$records = mysql_query($sql, $conn);

Print "<table border=3 width=100% class='infoBoxContent'>";
Print "<tr><td>Ref</td><td>Categoría</td><td>Imagen</td><td>Descripción</td> <td>Precio</td> <td>PVD</td></tr>";
$i = 0;

while ($table = mysql_fetch_array($records)) {

$product = $table['products_id'];
$category = $table['categories_id'];
$desc_id = $product;

$sql = "SELECT categories_name, categories_id FROM categories_description WHERE categories_id = $category";
$category = mysql_query($sql, $conn);
$category = mysql_fetch_array($category);
$category = $category['categories_name'];

$sql = "SELECT products_id, products_model, products_price, products_pvd, products_image FROM products WHERE products_id = $product";
$product = mysql_query($sql, $conn);
$product = mysql_fetch_array($product);
$part = $product['products_id'];
$price = $product['products_price'];
$pvd = $product['products_pvd'];
$picture = $product['products_image'];
$price = substr($price,0, strlen($price) - 2);

$sql = "SELECT products_id, products_description FROM products_description WHERE products_id = $desc_id";
$description = mysql_query($sql, $conn);
$description = mysql_fetch_array($description);
$description = $description['products_description'];

if (!($i%2)) {

$color = "BGCOLOR = #FFFF99";

}

else {

$color = "BGCOLOR = #FFFFFF";

}

print "<tr><td>$part</td><td>$category</td><td>$picture</td><td>$description</td><td>$$price</td><td>$pvd</td></tr>";

$i++;

}

print "</table>"

?>
  #2 (permalink)  
Antiguo 15/03/2005, 12:34
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

¿CAda una de las consultas de dentro del while solo devuelven un registro? Si es asi, lo que deberias hacer es juntas las 4 consultas en una con un JOIN (www.mysql.com/join).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 15/03/2005, 12:58
 
Fecha de Ingreso: marzo-2005
Mensajes: 53
Antigüedad: 19 años, 1 mes
Puntos: 0
soy mas novato de lo que crees

agradezco tu ayuda, pero es que no entiendo bien todavia como funciona lo del Join.
el caso es el aue script da como resultado una tabla con 5 campos
y claro son todos los registros de las tablas.
como puedo paginar el resultado que imprimo con la sentencia PRINT?
mil gracias
  #4 (permalink)  
Antiguo 17/03/2005, 20:55
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
ok...
Voy comprendiendo...
Yo ya te dí una respuesta por email que debería funcionar.
Si quieres seguir utilizando tu código... simplemente debería bastar con paginar la consulta madre. Si quieres utilizar Paginator, bastará con que le cambies de nombre a las primeras variables involucradas en la consulta:
Código PHP:
$_pagi_sql "SELECT * FROM products_to_categories ORDER BY products_id";
include(
"paginator.inc.php");
echo 
"<p>".$_pagi_navegacion."</p>";
Print 
"<table border=3 width=100% class='infoBoxContent'>"
Print 
"<tr><td>Ref</td><td>Categoría</td><td>Imagen</td><td>Descripción</td> <td>Precio</td> <td>PVD</td></tr>";
$i 0

while (
$table mysql_fetch_array($_pagi_result)) { 
De esa manera funcionaría... pero sería mejor que pienses seriamente en la opción de optimizar tu consulta utilizando JOIN o asociación de tablas. De ser ese el caso sólo tendrías una consulta.
Para que Paginator funcione correctamente con consultas de ese tipo deberías definir la variable:
Código PHP:
$_pagi_conteo_alternativo true;// esta línea debe ir antes del include("paginator...") 
Saludos
  #5 (permalink)  
Antiguo 18/03/2005, 10:12
 
Fecha de Ingreso: marzo-2005
Mensajes: 53
Antigüedad: 19 años, 1 mes
Puntos: 0
Gracias Oh Oraculo del web.
gracias.
salu2
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 22:47.