나는 아래와 같이 평면 디자인으로 간단한 MySQL 사용자 테이블을 가지고있다. 테이블은 Group5, ..., LibUser 오름차순으로 정렬됩니다.PHP 중첩 배열로 mysql 플랫 디자인
╔════════╤════════╤════════╤════════╤═══════════╗
║ Group5 │ Group4 │ Group3 │ Group2 │ LibUser ║
╠════════╪════════╪════════╪════════╪═══════════╣
║ G5_1 │ G4_1 │ G3_1 │ G2_1 │ LibUser_1 ║
╟────────┼────────┼────────┼────────┼───────────╢
║ G5_1 │ G4_1 │ G3_1 │ G2_1 │ LibUser_2 ║
╟────────┼────────┼────────┼────────┼───────────╢
║ G5_1 │ G4_1 │ G3_1 │ G2_1 │ LibUser_3 ║
╟────────┼────────┼────────┼────────┼───────────╢
║ G5_1 │ G4_1 │ G3_1 │ G2_2 │ LibUser_4 ║
╟────────┼────────┼────────┼────────┼───────────╢
║ G5_1 │ G4_1 │ G3_2 │ G2_3 │ LibUser_5 ║
╟────────┼────────┼────────┼────────┼───────────╢
║ .... │ .... │ .... │ .... │ .... ║
╟────────┼────────┼────────┼────────┼───────────╢
║ G5_n │ G4_n │ G3_n │ G2_n │ LibUser_n ║
╚════════╧════════╧════════╧════════╧═══════════╝
이 평면 디자인을 계층 형 중첩 트리로 변환하려고합니다. 목표는 fancytree.js를 사용하여 표시하는 것입니다.
부모/자식이있는 마지막 중첩 배열은 거의 비슷해야합니다 ("nbcpt"속성은 분기의 사용자 수이므로주의하지 마십시오). 이것은 하나의 예일 뿐이며 위의 mysql 테이블과 중첩 된 배열 사이에는 정확한 연결이 없다.
[
{"title": "All", "expanded": true, "folder": true, "nbcpt": 8, "children": [
{"title": "G5_1", "folder": true, "nbcpt": 4, "children": [
{"title": "G4_1", "nbcpt": 3, "folder": true, "children": [
{"title": "G3_1", "folder": true, "nbcpt": 2, "children": [
{"title": "LibUser_1", "nbcpt": ""},
{"title": "LibUser_2", "nbcpt": ""}
,
{"title": "G3_2", "folder": true, "nbcpt": 1, "children": [
{"title": "LibUser_3", "nbcpt": ""}
]}
]}
]},
{"title": "G4_2", "folder": true, "nbcpt": 1,"children": [
{"title": "G3_3", "folder": true, "nbcpt": 1, "children": [
{"title": "LibUser_4", "nbcpt": ""}
]}
]}
]},
{"title": "G5_2", "folder": true, "nbcpt": 4, "children": [
{"title": "G4_3", "folder": true, "nbcpt": 3, "children": [
{"title": "G3_4", "folder": true, "nbcpt": 2, "children": [
{"title": "LibUser_5", "nbcpt": ""},
{"title": "LibUser_6", "nbcpt": ""},
{"title": "G2_1", "nbcpt": 1, "children": [
{"title": "LibUser_7", "nbcpt": ""}
]}
]}
]},
{"title": "G3_5", "folder": true, "nbcpt": 1, "children": [
{"title": "G2_2", "folder": true, "nbcpt": 1, "children": [
{"title": "LibUser_8", "nbcpt": ""}
]}
]}
]}
]}
]
데이터가 계층 구조와 함께 저장되는 경우 몇 가지 예를 읽었지만, 여기서는 그렇지 않습니다.
이 평면 디자인을 나무로 변형 시키는데 어떤 아이디어가 있습니까? 도움 주셔서 감사합니다.