Hoy vengo con una consulta que me está sacando canas verdes...
Les comento mi problema... Yo tengo un menú dinámico, el cual aparecen primero los continentes, luego, al clikear sobre un continente aparecen todos los países de éste.
Pero mi problema está en que quiero hacer aparecer a los países que tienen publicados productos con un estilo y a los que no tienen artículos publicados de otro.
Les comento que tengo dos tablas, una con los países y otra con los productos, ambas se relacionan por medio de un id_pais. Lo que yo hago es hacer dos consultas por medio de dos funciones...
Código PHP:
Espero se entienda, la cosa es que me imprime lo que yo quiero, pero me repite el país tantas veces como artículos haya (por más de que sean distintos paises)...Ver original
public function obtener_paises($continente) { $sql_paises="select id, nombre,continente from paises where continente = $continente"; $res_paises=mysql_query($sql_paises); while($reg_paises=mysql_fetch_assoc($res_paises)) { $this->user[]=$reg_paises; } return $this->user; } public function obtener_lista_si_tiene_productos($continente,$tipo ) { $sql_productos="select pais,continente,tipo from producto where continente = $continente and tipo = $tipo group by (pais)"; $res_productos=mysql_query($sql_productos); while($reg_productos=mysql_fetch_assoc($res_produc tos)) { $this->user[]=$reg_productos; } return $this->user; } Bien, por ahora todo bien con esto... Ahora los llevo a imprimir en pantalla al archivo en el cual lo necesito siguiendo este código... $paises=$u->obtener_paises(1); $productos=$u->obtener_lista_si_tiene_productos(1,$_GET["valor"]); Y los imprimo así mediante un Doble ciclo for <?php { { if($paises[$i]["id"]==$productos[$j]["pais"]) { ?> <li><a class="invarseColor" href="#"><strong><?php echo $paises[$i]["nombre"]; ?></strong></a></li> <?php }else{ ?> <li><?php echo $paises[$i]["nombre"]; ?></li> <?php } } } ?>
Bueno, espero que un alma bondadosa me pueda ayudar en esto, le estaré realmente agradecido... Muchas gracias de antemano!.