Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2008, 02:18
iarrieta
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Ayuda con consult_cat.php?criterio=$row[categoria]

Hola:

Estoy armando un directorio de empresas y tengo una duda...

La BD tiene una tabla "categorias" que consta de id, categoria, subcategoria

La pagina "X" muestra por medio de consulta a BD todas las CATEGORIAS a manera de lista para que el usuario haga click en una (por ejemplo Abogados) y le muestre en otra pagina todas las empresas que corresponden a dicha categoria. Hasta aqui bien!

En la pagina "Y" que es la que muestra los resultados con todas las empresas de la categoria seleccionada quisiera que, si esa CATEGORIA tiene SUBCATEGORIAS, muestre una lista desplegable con sus subcategorias.

Hasta ahora he logrado que me muestre la lista pero las subcategorias estan mal, solo me muestra subcategorias si en alguna de ellas se incluye algo similar al nombre de la categoria... EXPLICO:

Por ejemplo, si selecciono Agencias de Publicidad, en los resultados me muestra la lista pero vacia (porque no tiene subcategorias) y esta bien (*aunque seria interesante que si no tiene subcategorias no me muestre la lista*)

Si selecciono Ingenieros me muestra la lista y sus subcategorias PERO porque las subcategorias son asi: Ingenieros Agrónomos, Ingenieros Civiles, Ingenieros de Alimentos, etc. Es decir que como la subcategoria tiene la palabra Ingenieros, me muestra correctamente la lista.

Si selecciono Médicos, me muestra la lista PERO vacia porque ninguna de las subcategorias tiene la palabra Médicos, sino que son asi: Cardiología, Dermatología, etc.

Ahora los codigos:

El listado de CATEGORIAS va a la pagina de resultados con esto:
Código PHP:
<a href='consult_cat.php?criterio=$row[categoria]'
Como les digo, los resultados de las empresas se muestran perfectamente...

El codigo para mostrar la lista de SUBCATEGORIAS es este:
Código PHP:
<?
include ("connect.php");

if (isset(
$criterio)){

$sql "SELECT subcategoria FROM categorias WHERE categoria = '$criterio' ORDER BY subcategoria";
$result mysql_query($sql) or die (mysql_error());

echo 
'<select name="subcat">';
echo 
"<option value=\"\">-- Seleccione una subcategoria --</option>\n";

while (
$row=mysql_fetch_array($result)){

echo 
'<option>'.$row["subcategoria"];
}
}
?>
Se que estoy cerca de dar con la solucion pero no estoy claro. Creo que debo recibir la categoria a traves de $criterio y de alguna manera hacerle saber al codigo que si ese $criterio tiene subcategorias, hagamos una nueva consulta y muestre la lista, pero no estoy seguro de como armar la nueva consulta, o si mas bien creo alguna variable o algo...

Espero puedan ayudarme

Gracias