Foros del Web » Programando para Internet » PHP »

Problema con los valores que paso por url

Estas en el tema de Problema con los valores que paso por url en el foro de PHP en Foros del Web. Tengo que mostrar en el index una serie de productos aleatorios de la base de datos, ahí bien, pero cuando hago click en una subcategoría ...
  #1 (permalink)  
Antiguo 20/01/2011, 05:12
 
Fecha de Ingreso: diciembre-2007
Mensajes: 26
Antigüedad: 16 años, 4 meses
Puntos: 1
Problema con los valores que paso por url

Tengo que mostrar en el index una serie de productos aleatorios de la base de datos, ahí bien, pero cuando hago click en una subcategoría para que me pase a otro php que me muestre solamente los productos pertenecientes a la subcategoría que yo clicko, es donde empiezan los problemas, muestro el código para ver mejor:

<?php

echo "<ul id=menu>";
while($row = mysql_fetch_array($result))
{
$codigo=$row['cod_cat'];
echo "<li><a href='productos.php?padre=".$row['cod_cat']."'>". $row['nom_cat'] . "</a>";

echo "<ul>";

$subcat=mysql_query("select * from categorias where subcat='$codigo'",$link);

while($r = mysql_fetch_array($subcat))
{
echo "<li><a href='productos.php?var=".$r['nom_cat']."&var2=".$r['cod_cat']."'>" . $r['nom_cat'] . "</a></li>";

$a=$r['nom_cat'];
$b=$r['cod_cat'];
}


echo "</ul>";
echo "</li>";

}
echo "</ul>";
mysql_free_result($result);
?>

Se entiende, no? meto en un array los nombres de categoría principales y los muestro de uno en uno, mientras que a la vez, muestro con otro estilo los nombres de categoría cuyo código de subcategoría es el mismo que el código padre de la categoría mostrada anteriormente.

una vez hecho esto, guardo en dos variables en lombre de la categoría ($a) y el código($b)

Para mostrar los productos que cumplen el requisito bien paginados el código es este:


<?
$resultados = mysql_query("SELECT * FROM productos where cod_cat='$var2'");
$total_registros = mysql_num_rows($resultados);
$resultados = mysql_query("SELECT * FROM productos where cod_cat='$var2' LIMIT $inicio, $registros");
$total_paginas = ceil($total_registros / $registros);

$padre=mysql_query("SELECT * FROM categorias where cod_cat in (select subcat from categorias where cod_cat=$b)");

while($ro = mysql_fetch_array($padre))
{
$v2=$ro['nom_cat'];
}
echo "<div class=info-cat> $v2 | $var</div>";


if($total_registros) {

while($modulo1=mysql_fetch_array($resultados))
{
echo "<div class=modulo-novedad>";
echo "<a href=detalle-producto.html><div class=miniatura-novedad><IMG SRC=images/miniatura-novedad.png / border=0></div></a>";
echo "<div class=titulo-novedad>".$modulo1["titulo_pro"]."</div>";
echo "<div class=texto-novedad>".$modulo1["info_pro"]."</div>";
echo "<div class=precio-novedad>".$modulo1["precio"]."&euro;</div>";
echo "<div class=categoria-novedad>".$modulo1["cod_cat"]."</div>";
echo "<div class=categoria-novedad>".$modulo1["estado"]."</div>";
echo "<div class=new><IMG SRC=images/new.png/></div>";
echo "</div>";
}
}
else {
echo "<center><font color='darkgray'>(No hay productos)</font></center>";
}

echo "</div>";

mysql_free_result($resultados);

if($total_registros) {

echo "<center><div class=cont-pag>";

if(($pagina - 1) > 0) {
echo "<a href='productos.php?var=$a&var2=$b&pagina=".($pagina-1)."'><div class=ant-sig>< Anterior</div></a> ";
}

for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i) {
echo "<div class=pag-actual>".$pagina."</div> ";
} else {
echo "<a href='productos.php?var=$a&var2=$b&pagina=$i'><div class=paginas>".$i."</div></a> ";
}
}

if(($pagina + 1)<=$total_paginas) {
echo " <a href='productos.php?var=$a&var2=$b&pagina=".($pagina+1)."'><div class=ant-sig>Siguiente ></div></a>";
}

echo "</div></center>";
mysql_close($link);
}?>

Si pincho en el index en una subcategoría, me carga este php perfectamente, el problema es cuando le doy a la página siguiente, donde me muestra los productos pertenecientes a la categoría siguiente en la base de datos. Es algo así como si el bucle donde guardo el nombre y el código no estuviera cerrado, y cada vez que refrescas la página avanza una fila. La razón por la cual escribo aquí, es esa, ¿por qué cuando le paso por url el nombre y el código de la categoría presente en la página uno, me cambia los valores en la página 2 a los de la fila siguiente en la base de datos?

PD: Resalto en negrita lo importante para que no os lieis mucho

Gracias, y lamento el "tochazo"

Etiquetas: bucles, paginacion, url
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 18:26.