Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/11/2009, 17:08
jbello
 
Fecha de Ingreso: noviembre-2008
Ubicación: Venezuela
Mensajes: 13
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema realizando recorrido de niveles

Ok fijate esto es lo que llevo hecho
asi me muestra el select pero con todos los elementos que tengo la tabla

y necesito mostrarlo cmo te comente ... de verdad disculpa es que tengo todo el dia hechandole cabeza a esto y nada .. ya estoy en cero


te agradesco tu ayuda


mysql_connect("localhost", "root", "1234");
mysql_select_db("gestion_alcaldia");

// Inicializas la matriz
$foros = array();
$result = mysql_query('SELECT idniveles_organizacionales, denominacion, sub_nivel FROM niveles_organizacionales') or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
$foro = $row['idniveles_organizacionales'];
$padre = $row['sub_nivel'];
// Verificas si ya se creo la matriz para el $padre
if(!isset($foros[$padre]))
$foros[$padre] = array();
// Agregas la informacion del foro donde corresponde
$foros[$padre][$foro] = $row;
}
//var_dump($foros);
// Puedes hacer un var_dump($foros); para que veas la estructura
// en $foros[0] quedan solo los foros que no tienen padre (es cero)
// segun tu ejemplo:
// $foros[0] tendra 1 => datos foro 1, 5 => datos foro 5
// $foros[1] tendra 2 => datos foro 2, 4 => datos foro 4
// $foros[2] tendra 3 => datos foro 3
// etc...
echo "<select>";
listar_foros(0); // Ejecutas la funcion que creara el listado, partiendo del index
echo '</select>';


return;
function listar_foros($padre) {
global $foros;
foreach($foros[$padre] as $foro => $datos) {
?>
<option value = "<?=$datos['idnivel_organizacional']?>"><?=$datos['denominacion']?></option>";
<?
// Verificas si el foro tiene "hijos"
if(isset($foros[$foro])) {
echo '<ul>';
listar_foros($foro);
echo '</ul>';
}
echo '</li>';
}

}