Foros del Web » Programando para Internet » PHP »

Arbol jerarquico muestra todo como raiz

Estas en el tema de Arbol jerarquico muestra todo como raiz en el foro de PHP en Foros del Web. Hola! Estoy tratando de lograr un arbol jerarquico, en el siguiente orden: regiones, departamentos, zonas y recintos, donde la region es el elemento mas alto, ...
  #1 (permalink)  
Antiguo 26/10/2010, 08:54
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 13 años, 6 meses
Puntos: 6
Arbol jerarquico muestra todo como raiz

Hola!

Estoy tratando de lograr un arbol jerarquico, en el siguiente orden: regiones, departamentos, zonas y recintos, donde la region es el elemento mas alto, y las regiones se dividen en departamentos, estos a su vez en supervisorias y por ultimo en cada supervisoria existen los recintos.



He leido con atencion el FAQ de como crear un arbol jerarquico a partir de una tabla , pero no logro extrapolar los ejemplos.

Por asuntos de estetica, he buscado en la red y encontre una libreria llamada KoolPHP Treeview y por mas que trato no se como traspolar los ejemplos a mi caso para que mi arbol "renderee" correctamente, pues todos los elementos salen como nodo raiz (root), cuando en la tabla esta indicado claramente en la columna "esquema" cual es el nodo padre de cada elemento.

Esta es el codigo que estoy usando:

Código PHP:

<?php
        $link 
=  mysql_connect('localhost''polnac_db''MejorPN2010');
        if (!
$link) {
        die(
'No pudo conectarse: ' mysql_error());
}
?>

<?php
    
//Step 1: Register KoolTreeView component to your page
        
require $KoolControlsFolder."KoolControls/KoolTreeView/kooltreeview.php";

    
//Step 2: Create treeview object.
        
$kTree = new KoolTreeView("kTree");

    
//Step 3: Set properties for tree
        
$kTree->styleFolder "KoolControls/kooltreeview/styles/default";
        
$kTree->imageFolder "KoolControls/kooltreeview/icons";
        
$kTree->selectEnable true;
        
$kTree->showLines true;


                
$SQL "SELECT id, nombre, esquema, tipo_esquema FROM polnac_db.jos_polnac_esquema";




        
$kTree->getRootNode()->text "ORGANIZACION";
$kTree->getRootNode()->image="ada.gif";
//$kTree->getRootNode()->id="0"; 
//$kTree->getRootNode()->esquema="0"; 

$kTree->getRootNode()->esquema="esquema";
$kTree->getRootNode()->expand=true;
$kTree->showLines true;

$result mysql_query($SQL);

while(
$fila mysql_fetch_assoc($result)) {
$kTree->Add("root""Esquema".$fila['esquema'], $fila['nombre'], false,"ada.gif","");

}


?>

<?php echo $kTree->Render();?>


La pagina de KoolPHP Treeview muestra este ejemplo:

Código PHP:

<?php
    
//Step 1: Register KoolTreeView component to your page
    
require "kooltreeview/kooltreeview.php";
 
    
//Step 2: Create treeview object.
    
$kTree = new KoolTreeView("kTree");
 
    
//Step 3: Set properties for tree
    
$kTree->styleFolder "kooltreeview/styles/default";
    
$kTree->imageFolder "kooltreeview/icons";
    
$kTree->selectEnable true;
 
    
//Step 4: Building tree
    
$kTree->getRootNode()->text "I am root node";
    
$kTree->Add("root","node1","First node");
    
$kTree->Add("root","node2","Second node");
?>
<html>
    <head></head>
    <body>
        <!-- Step 5: Render tree -->
        <?php echo $kTree->Render();?>
    </body>
</html>



La estructura de mi tabla, con algunos datos es esta:

Código:
/*Table structure for table `jos_polnac_esquema` */

DROP TABLE IF EXISTS `jos_polnac_esquema`;

CREATE TABLE `jos_polnac_esquema` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(100) DEFAULT NULL,
  `esquema` int(5) DEFAULT NULL,
  `tipo_esquema` enum('regional','departamento','supervisoria','recinto') DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARSET=utf8;

/*Data for the table `jos_polnac_esquema` */

insert  into `jos_polnac_esquema`(`id`,`nombre`,`esquema`,`tipo_esquema`) values (1,'DISTRITO NACIONAL',0,'regional'),(2,'S. D. ESTE',0,'regional'),(3,'S. D. OESTE',0,'regional'),(4,'S. D. NORTE',0,'regional'),(5,'CIBAO CENTRAL',0,'regional'),(6,'SURESTE',0,'regional'),(7,'NORESTE',0,'regional'),(8,'ESTE',0,'regional'),(9,'SUR CENTRAL',0,'regional'),(10,'SUR',0,'regional'),(11,'OESTE',0,'regional'),(12,'NORTE',0,'regional'),(13,'NOROESTE',0,'regional'),(14,'OPERACIONES POLICIALES',0,'regional'),(15,'C1',1,'departamento'),(16,'C2',1,'departamento'),(17,'C3',1,'departamento'),(18,'C4',1,'departamento'),(19,'C5',1,'departamento'),(20,'C6',1,'departamento'),(21,'E-1',2,'departamento'),(22,'E-2',2,'departamento'),(23,'LOS MILLONES / RESTAURADORES',15,'supervisoria'),(24,'NACO',15,'supervisoria'),(25,'LA ESPERILLA',15,'supervisoria'),(26,'PIANTINI / PARAISO',15,'supervisoria'),(27,'ENS QUISQUEYA',15,'supervisoria'),(28,'ENS LOS PRADOS',15,'supervisoria'),(29,'LOS JARDINES',15,'supervisoria'),(30,'SAN GERONIMO',15,'supervisoria'),(31,'OZAMA',22,'supervisoria'),(32,'DEST OZAMA',31,'recinto');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

Aqui se puede ver como me sale el arbol:




Saludos y gracias!!!

Última edición por sentnel; 26/10/2010 a las 09:21 Razón: URL mostrados incorrectamente

Etiquetas: muestra, raiz, todo, arboles
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 01:22.