2016-12-30 2 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 
関連する問題