我正在尝试从 mySQL 数据创建一个 Highcharts 。问题是它不返回任何内容。
到目前为止,我已在头文件中添加了所需的库。
<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>
最佳答案
这个
$data[] = "[$datetime, $value]";
应该是这个
$data = [$datetime, $value];
还有这个
join($data, ',')
应该是
implode(',', $data)
为了与当前 php 规范保持一致
我不熟悉您正在使用的图表插件,但这假设您的 $balanceQuery
变量已定义并具有查询结果。
关于php - Highcharts 为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28568495/