我的Zingchart没有显示,有什么不对?

时间:2015-07-25 23:06:41

标签: php charts zingchart

这是下面的代码,
首先,我从数据库中获取数据:

<?php
//getDBConnect function
require 'dbfunction.php';

//Get ID from form 
$id = $_GET['staffid'];

//connect to database
$con = getDBConnect();

if(!mysqli_connect_errno($con)){
    $sqlQueryStr = 
            "SELECT a.ai_Name, r.duration " .
            "FROM report AS r, academicinstitution AS a " .
            "WHERE r.staff_Id = '$id' " . 
            "AND r.ai_Id = a.ai_Id ";

    $result = mysqli_query($con,$sqlQueryStr);

    mysqli_close($con);
    } else {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    //Get data into array
    $emparray = array();
    while ($row = mysqli_fetch_assoc($result)) {
        $emparray[] = $row;
    }

    //Group array by ai_Name
    $grouparray = array();
        foreach($emparray as $item)
        {
          if(!isset($grouparray[$item["ai_Name"]]))
            $grouparray[$item["ai_Name"]] = 0;

          $grouparray[$item["ai_Name"]] += $item["duration"];
        }
?>

然后我继续为图表制作数据:

<script>
    var dataBar=
        <?php 
            foreach($grouparray as $keys => $value){
                echo $value.',';
            }
        ?>;

    window.onload=function(){
        zingchart.render({
            id:'chartBar',
            height:400,
            width:600,
            data:{
                "graphset":[
                {
                    "type":"bar",
                    "title":{"text":"BarChart"},
                    "series":[
                        {
                            "values":[dataBar]
                        }
                    ]
                }
                ]
            }
        });
    };
</script>

<div id="chartBar"></div>

我已经尝试了很多方法来输入数据,但图表仍然没有加载。造成这种情况的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:5)

问题是您如何创建dataBar数组。迭代这些值很好,但这就是你实际输出的内容:

var dataBar=1,2,3,4,5,;

这不是一个格式良好的数组。试试这个:

var dataBar=[
    <?php 
        foreach($grouparray as $keys => $value){
            echo $value.',';
        }
    ?>];

然后在您的JSON中引用它,如下所示:

"series":[
  {
    "values":dataBar
  }
]

我在ZingChart团队。如果你有更多的ZC问题,请告诉Holler。