Foros del Web » Programando para Internet » PHP »

mostrar categorias y productos en un listado y poner un estilo al producto selecciona

Estas en el tema de mostrar categorias y productos en un listado y poner un estilo al producto selecciona en el foro de PHP en Foros del Web. Hola a todos!! Aqui estoy otra vez con mis imposibles!! A ver si alguien me puede decir que es lo que estoy haciendo mal! Yo ...
  #1 (permalink)  
Antiguo 07/01/2013, 05:16
 
Fecha de Ingreso: septiembre-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta mostrar categorias y productos en un listado y poner un estilo al producto selecciona

Hola a todos!!
Aqui estoy otra vez con mis imposibles!!

A ver si alguien me puede decir que es lo que estoy haciendo mal!

Yo listo los productos y categorias en un listado <ul><li>
Y hay productos que se repite su nombre pero en realidad son distintos productos, y a su vez pertenecen a distintas categorias respectivamente.
Por ejemplo: Armarios Empotrados --> poliform
Hogar --> poliform

pero tienen contenidos distintos.
Me lista bien cada uno en su sitio, pero lo que quiero es que cuando pinches en uno de ellos me ponga una clase llamada "activo" en el <a> del <li> para que se quede seleccionado el producto en el que estás.
Mi problema es que cuando pincho concretamente en este "poliform" de la categoria armarios empotrados si despliego también el de hogar aparece "poliform" también seleccionado!

PAra que os orienteis yo trabajo con URL para el tema de posicionamiento, es decir, que cuando un producto se guarda se guarda su url modificada y las utilizo para pasar las variables por url.

Os dejo mi parte de codigo donde hago esto:

<ul style="display:block">
<?php
$marcas=mysql_query("SELECT * FROM $tabla_marcas WHERE categoria_url='$categoria_url' AND visible='1' ORDER BY nombre ASC") or die(mysql_error());
$cant = mysql_num_rows($marcas);
$marcaMarcado = $_GET['url'];
$marcaCatMarcado = $_GET['categoria'];

if ($cant <= 0) echo " ";

else {

$ii=-1;

while (($ii+1)< $cant) {

$ii++;
$url = mysql_result($marcas,$ii,"url");
$nombre = mysql_result($marcas,$ii,"nombre");

if ($marcaMarcado == '') { $marcaMarcado = $url; $marcaCatMarcado == $categoria;}

// aqui le digo que se tienen que cumplir las dos condiciones: la categoria y la url del producto y no me hace ni caso
if (($marcaMarcado == $url) && ($marcaCatMarcado == $categoria)) {

$claseMarcada = " class='activo'";


} else {
$claseMarcada = '';
}

?>

<li><a href="/marca/<?=$categoria_url;?>/<?=$url;?>" <?=$claseMarcada;?>><?=$nombre;?></a></li>

<? } } ?>
</ul>

Como puedo hacer para que me reconozca cada producto distinto de cada categoría..no lo entiendo por qué no me hace ni caso!
Gracias de antemano por ayudarme!!
  #2 (permalink)  
Antiguo 07/01/2013, 05:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: mostrar categorias y productos en un listado y poner un estilo al producto

¿Dónde asignas la variable $categoria?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/01/2013, 06:11
 
Fecha de Ingreso: septiembre-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Mensaje Respuesta: mostrar categorias y productos en un listado y poner un estilo al producto

Hola!
La variable categoria viene cargada de otro archivo.
En otro archivo que también listo las categorias y productos en un listado en el enlace le pongo esto:

<li><a href="/marca.php?categoria=<?=$categoria_url;?>&url=<?=$u rl;?>"><?=$nombre;?></a></li>


y lo envio al archivo en el que quierohacer lo que comento.
No sé si me he explicado bie..

Digamos que $categoria carga el nombre de la categoria existente y la $url carga la url del nombre del producto. Y las recojo en este archivo
  #4 (permalink)  
Antiguo 07/01/2013, 06:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: mostrar categorias y productos en un listado y poner un estilo al producto

Me refiero a esta variable:
Código:
if (($marcaMarcado == $url) && ($marcaCatMarcado == $categoria)) {
No veo dónde la asignas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 07/01/2013, 06:39
 
Fecha de Ingreso: septiembre-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Mensaje Respuesta: mostrar categorias y productos en un listado y poner un estilo al producto

La recojo de la url, la envio por la url del navegador y al principio del documento le tengo puesto esto:

$categoria=$_GET ['categoria'];

Si pongo la variable $categoria al li asi:

<li><a href="/marca/<?=$categoria_url;?>/<?=$url;?>" <?=$claseMarcada;?>><?=$categoria;?><?=$nombre;? ></a></li>

Se mostraría el nombre de la categoria al lado del nombre del producto, así sé que la estoy recogiendo bien.
No sé si es a eso a lo que te refieres.
  #6 (permalink)  
Antiguo 07/01/2013, 06:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: mostrar categorias y productos en un listado y poner un estilo al producto

El problema es que $marcaCatMarcado también lo obtienes de allí:
Código PHP:
Ver original
  1. $marcaCatMarcado = $_GET['categoria'];
Así que esta comparación siempre será verdadera:
Código PHP:
Ver original
  1. $marcaCatMarcado == $categoria
Con lo que debes comparar es la la categoría del producto que estás mostrando.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 07/01/2013, 07:57
 
Fecha de Ingreso: septiembre-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Mensaje Respuesta: mostrar categorias y productos en un listado y poner un estilo al producto

Vale, pero si te fijas, hago lo mismo con la url del producto y si me coge la que estoy marcando, como es que no me pilla la categoría correspondiente a ese producto?

Lo que sugieres es que no cargue la variable $marcaCatMarcada sino la variable $categoria?
Como lo puedo hacer de otra manera??
Alguna sugerencia??
  #8 (permalink)  
Antiguo 08/01/2013, 04:32
 
Fecha de Ingreso: septiembre-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
De acuerdo Respuesta: mostrar categorias y productos en un listado y poner un estilo al producto

Bueno ya lo he solucionado muchisimas gracias!
Al final tenías razón, tenía un lio con las variables tremendo!
He cargado la correcta y ya funciona!!

Un millón de gracias!!

Etiquetas: categorias, estilo, listado, mysql, producto, productos, tabla, variables
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 17:20.