Foros del Web » Programando para Internet » PHP »

Consulta e impresión anidadas

Estas en el tema de Consulta e impresión anidadas en el foro de PHP en Foros del Web. Un saludo amigos del foro, necesito hacer un menu con datos dinámicos. Tengo una tabla con los siguientes campos: id_Seccion, Nombre_Seccion, id_Seccion_Pertenece 1 Cine 1 ...
  #1 (permalink)  
Antiguo 12/02/2009, 19:43
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 177
Antigüedad: 17 años, 4 meses
Puntos: 2
Mensaje Consulta e impresión anidadas

Un saludo amigos del foro, necesito hacer un menu con datos dinámicos. Tengo una tabla con los siguientes campos:
id_Seccion, Nombre_Seccion, id_Seccion_Pertenece
1 Cine 1
2 Accion 1
3 Drama 1
4 Musica 4
5 Rock 4
6 Clasica 4

y necesito mostralas en php con listas asi:

<ul>
<li>Cine
<ul>
<li>Accion</li>
<li>Drama</li>
</ul>
</li>
<li>Musica
<li>Rock</li>
<li>Clasica</li>
</li>
</ul>

Les agradezco me echen una mano.
__________________
Qubo Visual
www.mitunja.net
  #2 (permalink)  
Antiguo 12/02/2009, 19:55
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 177
Antigüedad: 17 años, 4 meses
Puntos: 2
Respuesta: Consulta e impresión anidadas

Este es el codigo con el que estoy intentando hacerlo pero solo me muestra las subsecciones de la primera sección:

<?php require_once('../Connections/cnx_bd.php'); ?>
<?php
include('../GetSQLValueString.php');

mysql_select_db($database_cnx, $cnx_bd);
$query_rds_secciones = "SELECT `tbl_seccion`.id_Seccion, `tbl_seccion`.nombre_Seccion FROM `tbl_seccion` WHERE (`tbl_seccion`.tbl_Seccion_id_Seccion = `tbl_seccion`.id_Seccion)";
$rds_secciones = mysql_query($query_rds_secciones, $cnx_bd) or die(mysql_error());
$row_rds_secciones = mysql_fetch_assoc($rds_secciones);
$totalRows_rds_secciones = mysql_num_rows($rds_secciones);

mysql_select_db($database_cnx, $cnx_bd);
$query_rds_subsecciones = sprintf("SELECT tbl_seccion.id_Seccion, tbl_seccion.nombre_Seccion, tbl_seccion.tbl_Seccion_id_Seccion FROM tbl_seccion WHERE (tbl_seccion.tbl_Seccion_id_Seccion NOT LIKE tbl_seccion.id_Seccion) AND (tbl_seccion.tbl_Seccion_id_Seccion = %s)", GetSQLValueString($row_rds_secciones['id_Seccion'], "int"));
$rds_subsecciones = mysql_query($query_rds_subsecciones, $cnx_bd) or die(mysql_error());
$row_rds_subsecciones = mysql_fetch_assoc($rds_subsecciones);
$totalRows_rds_subsecciones = mysql_num_rows($rds_subsecciones);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<link href="css/dropdown/dropdown.css" media="all" rel="stylesheet" type="text/css" />
<link href="css/dropdown/dropdown.vertical.css" media="all" rel="stylesheet" type="text/css" />
<link href="css/dropdown/themes/default/default.ultimate.css" media="all" rel="stylesheet" type="text/css" />
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<h1>Ultimate Vertical Left-to-Right Direction Drop-Down Menu Demo</h1>
<ul id="nav" class="dropdown dropdown-vertical">
<?php do { ?>
<li><span class="dir"><?php echo utf8_encode($row_rds_secciones['nombre_Seccion']);?></span>
<ul>
<?php do { ?>
<li><?php echo utf8_encode($row_rds_subsecciones['nombre_Seccion']);?></li>
<?php } while ($row_rds_subsecciones = mysql_fetch_assoc($rds_subsecciones)); ?>
</ul>
</li>
<?php } while ($row_rds_secciones = mysql_fetch_assoc($rds_secciones)); ?>
</ul>
</body>
</html>
<?php
mysql_free_result($rds_subsecciones);

mysql_free_result($rds_secciones);
?>

Gracias.
__________________
Qubo Visual
www.mitunja.net
  #3 (permalink)  
Antiguo 12/02/2009, 20:08
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Consulta e impresión anidadas

trata con un solo while y dentro de el con if para discrimonar si es una sub o una prinsipal
  #4 (permalink)  
Antiguo 12/02/2009, 20:16
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 177
Antigüedad: 17 años, 4 meses
Puntos: 2
Respuesta: Consulta e impresión anidadas

Gracias por responder lo resolví metiendo la consutla de las subsecciones dentro del while y dandole como parámetro el id de la sección principal.

Gracias por la ayuda.
Código PHP:
<?php require_once('../Connections/cnx_bd.php'); ?>
<?php
include('../GetSQLValueString.php');

mysql_select_db($database_cnx$cnx_bd);
$query_rds_secciones "SELECT `tbl_seccion`.id_Seccion, `tbl_seccion`.nombre_Seccion FROM `tbl_seccion` WHERE (`tbl_seccion`.tbl_Seccion_id_Seccion = `tbl_seccion`.id_Seccion)";
$rds_secciones mysql_query($query_rds_secciones$cnx_bd) or die(mysql_error());
$row_rds_secciones mysql_fetch_assoc($rds_secciones);
$totalRows_rds_secciones mysql_num_rows($rds_secciones);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<link href="css/dropdown/dropdown.css" media="all" rel="stylesheet" type="text/css" />
<link href="css/dropdown/dropdown.vertical.css" media="all" rel="stylesheet" type="text/css" />
<link href="css/dropdown/themes/default/default.ultimate.css" media="all" rel="stylesheet" type="text/css" />
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<h1>Ultimate Vertical Left-to-Right Direction Drop-Down Menu Demo</h1>
<ul id="nav" class="dropdown dropdown-vertical">
<?php do { ?>
<li><span class="dir"><?php echo utf8_encode($row_rds_secciones['nombre_Seccion']);?></span>
<ul>
<?php 
mysql_select_db
($database_cnx$cnx_bd);
$query_rds_subsecciones sprintf("SELECT tbl_seccion.id_Seccion, tbl_seccion.nombre_Seccion, tbl_seccion.tbl_Seccion_id_Seccion FROM tbl_seccion WHERE (tbl_seccion.tbl_Seccion_id_Seccion NOT LIKE tbl_seccion.id_Seccion) AND (tbl_seccion.tbl_Seccion_id_Seccion = %s)"GetSQLValueString($row_rds_secciones['id_Seccion'], "int"));
$rds_subsecciones mysql_query($query_rds_subsecciones$cnx_bd) or die(mysql_error());
$row_rds_subsecciones mysql_fetch_assoc($rds_subsecciones);
$totalRows_rds_subsecciones mysql_num_rows($rds_subsecciones);
do { 
?>
<li><?php echo utf8_encode($row_rds_subsecciones['nombre_Seccion']);?></li>
<?php } while ($row_rds_subsecciones mysql_fetch_assoc($rds_subsecciones)); ?>
</ul>
</li>
<?php } while ($row_rds_secciones mysql_fetch_assoc($rds_secciones)); ?>
</ul>
</body>
</html>
<?php
mysql_free_result
($rds_subsecciones);

mysql_free_result($rds_secciones);
?>
__________________
Qubo Visual
www.mitunja.net
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:40.