代码之家  ›  专栏  ›  技术社区  ›  Bruce

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

  •  0
  • Bruce  · 技术社区  · 8 年前

    这是我的数据库快照: 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 回复  |  直到 8 年前
        1
  •  0
  •   Tuan    8 年前

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

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

    所以你看,“Q”的老板是“FTA”,但谷歌的组织结构图找不到“FTA”。如果你把“自由贸易协定”改成“普拉蒂克”,你会看到魔术的发生。