Tengo una estructura de "padres e hijos", es decir, un grafo con nodos. Me gustaría saber cómo construir una lista ul-li (es decir HTML) con los datos que recojo de la base de datos, dado un id que será un nodo cualquiera del grafo.
A ver si me explico...
Tengo algo así:
Código:
Es decir, el 1 es el padre del nodo 2 y del 4.1 |---2 |--------3 |---4 |--------5 |--------6 |------------7 |------------8 |--------9
El nodo 2 tiene un hijo, el 3
El nodo 4 tiene tres hijos, el 5, el 6 y el 9
Y por último en el nivel más bajo, el 6 tiene los hijos 7 y 8.
Mediante PHP me gustaría poder montar una estructura HTML con <ul> y <li> dado cualquier ID del grafo. Es decir, si por ejemplo tengo el ID 6, quiero sacar sus "padres" y todos sus hijos y nietos (si los tiene). El grafo resultante debería ser así:
Código:
Para entendernos, el grafo hacia arriba es una línea recta (podría decirse) y hacia abajo, solo los sucesores directos (lo dicho: hijos y nietos, no "sobrinos").1 |---4 |--------6 |------------7 |------------8
En HTML el resultado debería ser una cosa así:
Código HTML:
<ul> <li> 1 <ul> <li> 4 <ul> <li> 6 <ul> <li> 7 </li> <li> 8 </li> </ul> </li> </ul> </li> </ul> </li> </ul>
Código:
Con los datos que tengo en mi BD, puedo sacar quiénes son los padres y los hijos así que ese no es problema. El problema que tengo es cómo construir la estructura, que me está volviendo loco.1 |---4 |--------5 |--------6 |------------7 |------------8 |--------9
Muchísimas gracias de antemano, espero haber explicado bien todo.
PD: El objetivo de montar esta estructura es para poder montar un organigrama con el plugin de JQuery JOrgChart