2016-06-14 24 views
0

我有一個簡單的mysql用戶表,像下面這樣的平面設計。該表由Group5,...,LibUser Ascending排序。mysql平面設計爲php嵌套數組

╔════════╤════════╤════════╤════════╤═══════════╗ 
║ 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": ""} 
      ]} 
     ]} 
    ]} 
]} 
] 

我讀了一些例子,當數據存儲與層次結構,但這不是這裏的情況。

任何想法將這個平面設計轉換爲樹? 謝謝你的幫助。

回答