Foros del Web » Programando para Internet » PHP »

Listar debajo de una Familia

Estas en el tema de Listar debajo de una Familia en el foro de PHP en Foros del Web. Hola una consulta que me esta causando dolor de cabeza. Tengo en una base de datos 2 tablas(familia y sub_familia) familia(cod_fam y nom_fam) sub_familia(cod_sub_fam,nom_sub_fam,cod_fam,ima1) Todo ...
  #1 (permalink)  
Antiguo 08/10/2004, 09:34
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 13 años, 3 meses
Puntos: 1
Listar debajo de una Familia

Hola una consulta que me esta causando dolor de cabeza.

Tengo en una base de datos 2 tablas(familia y sub_familia)

familia(cod_fam y nom_fam)
sub_familia(cod_sub_fam,nom_sub_fam,cod_fam,ima1)

Todo el codigo me sale perfectamente pero lo que quiero es que cuando seleccciono una familia me salgan los datos de las sub familias que pertenecen a la familia.

Por ejemplo:
Tengo 4 familias REGISTRADAS EN LA TABLA:
* Ordenadores
* Placas
* Impresoras
* Monitores

Cuando por ejemplo presiono sobre Impresoras que me liste todas las sub familias de Impresoras asi:

* Ordenadores
* Placas
* Impresoras
- Inyeccion
- Laser
- Multifuncion

* Monitores, etc

El codigo de abajo me sale muy bien pero, siempre cuando selecciono una familia los datos de la sub familia me salen SIEMPRE DEBAJO DE LA PRIMERA FAMILIA ES DECIR "ORDENADORES" ASI
* Ordenadores
- Inyeccion
- Laser
- Multifuncion

* Placas
* Impresoras
* Monitores, etc

************************************************** *****
<?php
include("Php/config.php");
$cod=$_GET['codi_fami']; $ok=$_GET['ban'];
$consulta =mysql_query("SELECT * FROM familias order by nom_fam ",$conectar);

$consu=mysql_query("SELECT nom_sub_fam FROM sub_familias WHERE cod_fam='$cod'",$conectar);
echo $cod."<br>"; echo $ok;
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>

<table width="770" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="142" scope="col">
<table border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#33CCFF">
<?php
while ($fam=mysql_fetch_array($consulta))
{echo "<tr>";
echo "<td>";
echo '<div align="left">';

echo "<a href=\"ven.php?codi_fami=$fam[cod_fam]&amp;ban=1\">$fam[nom_fam]</a>";

echo "</div>";

if ($ok==1)
{echo "<table border='0' align='center' cellpadding='0' cellspacing='0' bgcolor='#33CCFF'>";
while ($subfam=mysql_fetch_array($consu))
{echo "<tr>";
echo "<td>";
echo '<div align="left">';

echo $subfam["nom_sub_fam"];

echo "</div>";
echo "</td>";
echo "</tr> ";
}
echo "</table>";
}
echo "</td>";
echo "</tr> ";
}
?>
</table>
</th>
<th bgcolor="#3366CC" scope="col">&nbsp;</th>
<th bgcolor="#6699FF" scope="col">&nbsp;</th>
</tr>
</table>
</body>
</html>



QUE PUEDE HACER PARA QUE ME LISTE PERFECTAMENTE CUANDO SELECCIONO Y ME SALGA DEBAJO DE LA FAMILIA SELECCIONADA..


Graciasssssssss..
Suerte.
  #2 (permalink)  
Antiguo 08/10/2004, 09:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tendrás que hacer un conficional tipo:

Código PHP:
bucle (obtiene la familia){
// se muestra la familia ...
echo "<a href=\"ven.php?codi_fami=$fam[cod_fam]&amp;ban=1\">$fam[nom_fam]</a>";

// se compara .. si la famila que se está representando es igual a la familai que quieres ver (que te llega por el URL en ese codi_fami .. entonces . haz la consulta a tu BD y obtiene esas sub-familias.
if ($codi_familia == $fam[cod_fam]){
// tu while() para mostrar (consultar) la sub-familia
}


Un saludo,
  #3 (permalink)  
Antiguo 08/10/2004, 09:53
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 13 años, 3 meses
Puntos: 1
Lo voy a probar. Gracias
  #4 (permalink)  
Antiguo 08/10/2004, 10:36
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 13 años, 3 meses
Puntos: 1
Gracias CLuster te pasassssssstes
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:46.