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??