Tengo una pequeña duda con respecto a paginar resultados desde una pagina en php, de una consulta mysql.
Resulta que tengo productos, y quiero por ejemplo paginar para que haya solo 3 por pagina (cdo tenga mas seran 10, etc...)
He leido un post pero no me sale...
Les paso el codigo. Logre que me limite la consulta, pero al poner siguiente no me va al producto que falta, sino que me va a otra pagina...me parece que estoy haciendo mal el href....
Archivo: productos_paginas.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Back Net - Tecnología y Comunicación</title>
<link href="estilos.css" rel="stylesheet" type="text/css" />
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
</head>
<body>
<div id="contenido">
<div id="colizq">
<?
include('config.php');
function display_tree($root,$dblink,$linkStyle){
//Muestra las categorias (construida con estructuras de árbol)
//Obtener los valores izq y der de la raiz - parametro.
$result= mysql_query("SELECT lft,rgt FROM secciones WHERE id=$root",$dblink);
$row=mysql_fetch_array($result);
//Empezar con una pila derecha vacia.
$right=array();
//Obtener todos los descendentes del nodo raiz.
$result=mysql_query("SELECT * FROM secciones WHERE lft BETWEEN ".$row["lft"]." AND ".$row["rgt"]." ORDER BY lft ASC",$dblink);
//Mostrar cada fila
while ($row=mysql_fetch_array($result)){
//Solo chequear la pila si hay alguno.
extract($row);
if (count($right)>0){
//chequear si debemos eliminar algun nodo de la pila.
while ($right[count($right)-1]<$row["rgt"]){array_pop($right);}
}
//Mostrar el titulo del nodo indentado.
echo str_repeat(' ',count($right))."<a href='".$_SERVER['PHP_SELF']."?id=$id#top' class='$linkStyle'>$nombre</a><br>\n";
//Añadir este nodo a la pila
$right[]=$row["rgt"];
}
}
$dblink = mysql_connect($hostname,$username,$password)
or die("Could not connect: " . mysql_error());
mysql_select_db($databasename, $dblink) or die ( mysql_error());
/* mysql_query ("SET NAMES 'utf8'"); /* PARA EL PROBLEMA DE LOS ACENTOS */
?>
<p> </p>
<p> </p>
<p> </p>
<? display_tree(13,$dblink,"contenido");?>
</div>
<div id="colder">
<?php
/* Paginacion de los resultados */
if (!$_GET["iniciar"])
{ $iniciar = 0; }
else
{ $iniciar = $_GET["iniciar"]; }
$suma = $iniciar + 3;
/* Fin paginacion de los resultados */
if(isset($_GET["id"])){
$id=$_GET["id"];
$query="SELECT * FROM secciones WHERE id=$id;";
$res=mysql_query($query,$dblink);
$row=mysql_fetch_array($res,MYSQL_ASSOC);
extract($row);
$qDetail="SELECT e.*,s.nombre FROM productos e,secciones s
WHERE s.id=e.seccionid AND s.lft BETWEEN $lft AND $rgt
ORDER BY e.articulo DESC LIMIT $iniciar,$suma;";
/* PAGINACION */
$dif = $total - $suma;
if ($dif < 0) {
echo "<a href=\"productos_paginas.php?iniciar=".$suma."\"> Pagina Siguiente </a>";
}
/* PAGINACION */
$resDetail=mysql_query($qDetail);
if (mysql_num_rows($resDetail)==0){
echo "<p class='colderima'><br><h2>Por el momento no hay productos disponibles</span>";
/*exit();*/
}
/*echo "<p name='top'>\n";*/
while ($row = mysql_fetch_array($resDetail,MYSQL_ASSOC)){
extract ($row,EXTR_OVERWRITE);
/******************* IMPRIMIMOS LOS ARTICULOS *******************/
echo "<p class='colderima'>CODIGO: $articulo</p>";
if ($imagen <> "")
{
$imagen = "<a href=imagenes/".$imagen." rel=\"lightbox\" > <img src=imagenes/".$imagen." border='0' width='120' height='140'> </a>";
echo "<p align='left'> $imagen </p>" ; /* Le podemos cambiar las medidas: height= 168 width= 180*/
}
else
{
echo "<b> No Hay Imagen para Mostrar";
}
echo "<p class='colderima'><h2><b> $titulo </b></h2></p>\n";
/*echo "<p class='colderima'> <td background=images/bola_precio.jpg width='69' height='80'><div class='precio2' align='center'> $precio </div></td></p>";*/
echo "<p class='colderima'><img src=images/dolar.gif width='15' height='15'> $precio</p><br>\n";
echo "<p class='colderima'><p> $comment </p></p><br>\n";
echo "<hr><br>\n"; /* Linea que separa a los articulos */
/***************** FIN IMPRIMIMOS LOS ARTICULOS *****************/
}
/*echo "</p>\n";*/
} else {//No está establecido id en $_GET
echo "<p class='colderima'><br><h2>Elija alguna categoria.</span>";
}
?>
</div>
<br />
</div>
</body>
</html>