Como posso criar uma 'árvore' multi-hierárquico? (Se ele pode ser chamado de uma árvore)
-
22-07-2019 - |
Pergunta
Eu tenho uma lista de courses
digamos e certificates
e fun_days
. Estes são todos chamados objects
. Cada objeto tem sua requisitos object_requirements
. A exigência pode ser um dos objects
ou vários deles.
Você pode pegar qualquer object
sem object_requirements
como um starting point
. "Todo mundo é permitido Have esses objetos."
Assim, pode ser que:
-
Introduction_course
é um ponto de partida (sem requisitos) -
Introduction_certificate
pode ser obtida por aqueles que têmIntroduction_course
(estecourse
é uma exigência destecertificate
) -
Funday_swimming
pode ser obtida por aqueles que têm umaIntroduction_certificate
(o certificado é uma exigência dafun_day
).
Existe uma maneira de criar uma representação visual da estrutura de fluxo hierárquico ou um pouco deste sistema? O exemplo é bastante simples, mas vários requisitos em qualquer lugar do 'árvore' deve ser possível.
Isto é como eu armazenar os requisitos:
TABLE: OBJECT_REQUIREMENT
OBJECTTYPE (pk)
OBJECTID (pk)
REQUIREMENT_OBJECTTYPE (pk)
REQUIREMENT_OBJECTID (pk)
TABLE: COURSE
OBJECTID (pk)
OBJECTTYPE // value is always [1] for course
TABLE: CERTIFICATE
OBJECTID (pk)
OBJECTTYPE // value is always [2] for certificate
TABLE: FUN_DAY
OBJECTID (pk)
OBJECTTYPE // value is always [3] for fun_day
Oh e eu uso PHP e MySQL. Mas qualquer peça de software que poderia gerar essas representações visuais seria mais do que bem-vindo também!
Solução
Você pode considerar algo como um grafo direcionado, para que esta pergunta SO anterior pode ser útil:
Outras dicas
Você pode usar a tag <li>
, assim:
- Introduction_course
- Introduction_certificate
- funday_swimming
- Outro certificado
Se você está tentando mostrá-lo em html.
Se você quer algo que é mais gráfica, você pode usar arquivos SVG ou tags de tela (em html5), a fim de desenhar o gráfico, ou, simplesmente uso lib_gd para desenhar um bitmap, e torná-lo em um mapa de imagem, se necessário .