簡體   English   中英

如何使用PHP和Javascript基於級別生成組織結構圖?

[英]How to generate an organisation chart based on level using PHP and Javascript?

我需要基於數據庫中的級別創建組織結構圖。 下表是詳細信息:

數據庫表中的值

<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>

我需要將數據庫表值放入數據源變量中。

您需要重新排序表格:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM