Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2004, 20:57
Avatar de u_goldman
u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Encontrar la dimensión de departamentos

Hola chic@s, a ver si me dan una idea con esto que no logro resolver, tengo un catálogo de "N" departamentos, la estructura de la tabla sería así:

dept_id -> entero
parent_id -> entero
is_parent -> booleano
dept_name -> texto

El tema es que estoy creando una estructura de árbol en base a los siguientes datos, una muestra:

Código:
dept_id   |   parent_id   |   is_parent   |   dept_name
   1                   0                 1               Bebidas
   2                   0                 0               Alimentos
   3                   1                 1               Frias
   4                   1                 1               Calientes
   5                   3                 0               Refrescos
   6                   3                 0               Aguas Frescas
   7                   4                 1               Café
   8                   4                 0               Chocolate
Interpretando los resultados tenemos los siguientes datos:
Código:
Depto1
Bebidas
 -Frías
   -Refrescos
   -Aguas Frescas
 -Calientes
   -Café
     -SubDepartamento que podría ser "Americano"
   -Chocolate

Depto 2
Alimentos
  -Productos
Espero que hasta aqui se entienda...el campo is_parent determina si el departamento a su ves es padre, aunque sea hijo, formando todo esto, un catálogo N-dimensional.

La problemática consiste en que estoy haciendo el arbol por medio del recordset, donde en primera instancia traigo a los padres, es decir, que el campo parent_id esté en 0.

Ahora por cada uno de los padres, tengo que determinar cuantos hijos tiene, y por cada uno de los hijos cuantos hijos tiene este, y así hasta "N" generaciones, de tal manera que cuando no haya más hijos para cada padre, mostrará los productos...espero no haberlos mareado hasta aquí.

Tengo pues el primer Loop que genera a los padres, pero de ahí no se como hacer para determinar:
1.- Cuantos hijos tiene
2.- Por cada hijo, mostrar los nietos, y así recursivamente, hasta pasar al siguiente "jerarca" por llamar de alguna manera al padre que tiene 0.

Todo esto porque estoy implementando el arbol en javascript, pero no encuentro el modo de hacer las iteraciones particulares por cada hijo de una forma N-dimensional

Alguna idea??
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway