首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在php中制作orgchart

无法在php中制作orgchart
EN

Stack Overflow用户
提问于 2016-10-01 07:22:00
回答 1查看 504关注 0票数 0

我试图在我的代码中制作orgchart,但是我对这个图表一点也不了解。我想做一棵像图表一样的树,并想要mysql表中的数据。表是:树干

id name treeid

1 a 1

2 aa 11

3 aaa 111

4 aaaa 1111

5 ab 12

6 aba 121

7 abb 122

8 ac 13

我的代码如下:

代码语言:javascript
复制
 <html>
 <head>
<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', 'Manager');
    data.addColumn('string', 'ToolTip');

    // For each orgchart box, provide the name, manager, and tooltip to show.

    <?php 
        include get_template_directory()."/connect/connect.php"; 


        $result = mysql_query("select * from treechart order by id asc");
        $members = array();
        $demo = "[\n";
        while ($row = mysql_fetch_array($result))   
        {
            $members[$row[2]] = $row[1];
        }
        function search_tree($searchkey)
        {
            return $members[$searchkey];
        }
        foreach($members as $key=>$member)
        {
            if(strlen($key)==1)
            {
                $demo = $demo."['".$member."','','".$member."'],\n";
                $one = $member;
            }
            if(strlen($key)==2)
            {
                $demo = $demo."['".$member."','".$one."',''],\n";
            }
            if(substr($key,0,2)=="11")
            {
                if(strlen($key)==3)
                {
                    $newkey = search_tree("11");
                    echo $newkey."---.";
                }

            }
            $oldkey = strlen($key);
        }
        $demo = substr($demo,0,strlen($demo)-2);
        $demo = $demo."]";
        print_r($newdemo);

    ?>
    data.addRows(<?php echo $demo; ?>);

    // Create the chart.
    var chart = new google.visualization.OrgChart(document.getElementById('chart_div'));
    // Draw the chart, setting the allowHtml option to true for the tooltips.
    chart.draw(data, {allowHtml:true});
  }
</script>
</head>
<body>
<div id="chart_div"></div>
</body>
</html>

我的问题是在$newkey中我不能有任何值,我想要$newkey中11,12,13键值的值。我的表中有大量的数据,所以如果有人有任何简短的编码想法,那就帮我编写代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-12 14:39:17

必须在表中定义父列。

id \ parrentId _名称

下面是一个例子

代码语言:javascript
复制
   var orgchart = new getOrgChart(document.getElementById("people"),{
        dataSource: [
	        { id: 1, parentId: null, Name: "1"},
	        { id: 2, parentId: 1, Name: "2"},
	        { id: 3, parentId: 1, Name: "3"}]
    });
代码语言:javascript
复制
html,
body {
  margin: 0px;
  padding: 0px;
  height: 100%;
  overflow: hidden;
}

#people {
  width: 100%;
  height: 100%;
}
代码语言:javascript
复制
<link href="http://www.getorgchart.com/GetOrgChart/getorgchart/getorgchart.css" rel="stylesheet"/>
<script src="http://www.getorgchart.com/GetOrgChart/getorgchart/getorgchart.js"></script>

<div id="people"></div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39804038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档