Highchart是空白的

时间:2015-02-17 18:26:42

标签: php mysql highcharts

我正在尝试从mySQL数据创建高清图。问题是它不会返回任何东西。

到目前为止,我已在头文件中添加了所需的库。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"type="text/javascript"></script> 
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js">

然后我在我要显示图表的文件中添加了以下代码。

global $post;
    foreach ($balanceQuery as $row) 
    { 

        $value = $row->balance;
        $datetime = $row->post_date * 1000; // convert from Unix timestamp to JavaScript time
        $data[] = "[$datetime, $value]";
    }

?>

<script type="text/javascript">

var chart = new Highcharts.Chart({
      chart: {
         renderTo: 'container'
      },
      series: [{
         data: [<?php echo join($data, ',') ?>]
      }]
});
</script>

最后我添加了这个HTML代码:

<div id="container" style="height: 400px; border-bottom: 1px solid #d9d9d9;"></div>

为什么没有显示任何内容?

另一项测试:

我已经尝试过现在实际打印出图表中的值,但是我似乎无法将日期放入?

测试

<script type="text/javascript">
var chartdiv = document.createElement("div");
chartdiv.className = "huge-container";

var seriesOptions = {
        data: [<?php echo join($data, ',') ?>]
 }

var chartOptions = {
     chart: {
         renderTo: 'huge-container',
     },
     series: seriesOptions,
}


var chart = new Highcharts.Chart(chartOptions);

</script>

3 个答案:

答案 0 :(得分:0)

$data[] = "[$datetime, $value]";

应该是这个

$data = [$datetime, $value];

这个

join($data, ',')

应该是

implode(',', $data)

与当前的php规范保持一致

我不熟悉您正在使用的图表插件,但这是假设您的$balanceQuery变量已定义且包含查询结果。

答案 1 :(得分:0)

尝试设置图表选项和系列选项,然后再添加chart

var seriesOptions = {
        data: [[<?php echo join($data, ',') ?>],
 }

var chartOptions = {
     chart: {
         renderTo: 'container',
     },
     series: seriesOptions,
}

var chart = new Highcharts.Chart(chartOptions);

另外,请注意@Jacob提出的更改。

答案 2 :(得分:0)

将您的PHP代码解压缩为外部文件。然后在里面修改这个部分:

$data[] = array($datetime, $value]);

并使用echo json_encode($ data);

In the end, in javascript use $.getJSON('path/to/file.php',function(data){
  //load chart
}) 

加载数据并在

中初始化图表