2016-12-30 106 views
0

我需要根據數據庫中的級別創建組織結構圖。下面給出的是表中的細節:如何使用PHP和Javascript基於級別生成組織結構圖?

values in database table

<script> 
var datasource = { 
    'name': 'Lao Lao', 
    'title': 'general manager', 
    'children': [{ 
     'name': 'Bo Miao', 
     'title': 'department manager' 
    }, { 
     'name': 'Su Miao', 
     'title': 'department manager', 
     'children': [{ 
      'name': 'Tie Hua', 
      'title': 'senior engineer' 
     }, { 
      'name': 'Hei Hei', 
      'title': 'senior engineer' 
     }] 
    }, { 
     'name': 'Hong Miao', 
     'title': 'department manager' 
    }, { 
     'name': 'Chun Miao', 
     'title': 'department manager' 
    }] 
}; 

$('#chart-container').orgchart({ 
    'data': datasource, 
    'depth': 2, 
    'nodeContent': 'title' 
}); 
</script> 

我需要得到數據庫表中的值到數據源的變量。

+0

請重寫問題你還嘗試過什麼? –

回答

0

您需要重新排序表:

ordered=[]; 
function checkobj(obj,level){ 
    //loop trough children: 
    obj.children.forEach(function(child){ 
    //check children (children is in a lower level) 
    checkobj(child,level+1); 
    }); 
    //add the object to the current level 
    ordered[level]=ordered[level]||[]; 
    ordered[level].push(obj); 
    } 
    //start looping with your data at root 
    checkobj(datasource,0); 

現在有序包含數組,表示每個級別:

ordered:[ 
0:[{},{}]//level 0 people (Lao Lao) 
1:[{},{}]//level 1 the Miaos 
... 
    ]; 

所以,你可以這樣做:

ordered[0]//all people of level 0