【问题标题】:can't make orgchart in php无法在 php 中制作 orgchart
【发布时间】:2016-10-01 07:22:00
【问题描述】:

我正在尝试在我的代码中制作 orgchart,对此图表一无所知。我想制作一个树状图表,并想要来自 mysql 表的数据。 表是:treechart
id name treeid
1个1
2 aa 11
3 aaa 111
4 aaa 1111
5 ab 12
6 aba 121
7 abb 122
8 交流 13

我的代码如下:

 <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 键值的值。而且我的表中有大量数据,所以如果有人有任何简短的编码想法,请帮助我编写代码。

【问题讨论】:

    标签: php orgchart


    【解决方案1】:

    您必须在表格中定义父列

    标识 |父母身份 |名称

    这是一个例子

       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"}]
        });
    html,
    body {
      margin: 0px;
      padding: 0px;
      height: 100%;
      overflow: hidden;
    }
    
    #people {
      width: 100%;
      height: 100%;
    }
    <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>

    【讨论】:

    • 我想从中移除轮上缩放效果。我怎样才能删除它?
    • 将 enableZoom 选项设置为 false。这是一个例子jsfiddle.net/GetOrgChart/h96yn
    • 好的,谢谢。但是我的图表太大了。因此,当我添加所有节点时,它变得非常小并且无法读取任何内容。我试图使缩放为假并为其添加水平滚动条。但它不起作用。你有什么想法,我该怎么做?
    • 您可以将缩放选项与展开/折叠一起使用
    • 是的,我尝试过,但是当我设置比例时,树的某些部分没有显示,所以我需要水平滚动条,但是当我设置溢出-z 时它不会显示任何内容。
    猜你喜欢
    • 1970-01-01
    • 2016-11-28
    • 2015-04-12
    • 1970-01-01
    • 2012-10-12
    • 2017-05-30
    • 2021-12-13
    • 1970-01-01
    相关资源
    最近更新 更多