谷歌组织结构图:无法显示组织结构图

时间:2018-06-12 17:52:48

标签: javascript php html google-visualization

这是我的数据库快照: link
这是我的代码:

<?php
 $db=mysqli_connect("localhost","root","","organisation"); //db connection
 $query=mysqli_query($db, "SELECT name,below_whom FROM org"); //fetch data
 if($query){
 $data=[];
 while($org_data=mysqli_fetch_assoc($query)){
 $data []= [$org_data["name"],$org_data["below_whom"]]; //syntax of 
 associative array = $variable["value"]
 }
 #echo '<pre>'; print_r($data); echo '</pre>';
 }
 else {
 "Error".mysqli_error();
}
?>
<html>
<head></head>
<body>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {packages:["orgchart"]});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'name');
data.addColumn('string', 'below_whom');
data.addColumn('string', 'ToolTip');
data.addRows(<?php echo json_encode($data); ?>);
var chart = new google.visualization.OrgChart(document.getElementById('chart_div')); 
chart.draw(data, {allowHtml:true});
}
</script>
<div id="chart_div"></div> 
</body>
</html>

我一直在阅读文档很长一段时间,我仍然无能为力。我猜错误是在addRows附近,但我无法追踪它。

1 个答案:

答案 0 :(得分:0)

在我看来,您的代码没有问题,但问题出在您的数据中。您查询的数据将如下所示:

|name   |below_whom|
|-------|----------|
|Pratik |          |
|-------|----------|
|Q      |FTA       |
|-------|----------|

所以你看,“Q”有“FTA”作为老板,但谷歌组织结构图找不到“FTA”。如果你将“FTA”改为“Pratik”,你会看到魔法发生。