我想创建一个从MySQL数据库中提取的静态值图表。 图表格式为(x轴:dd / mm / yy hh:mm:ss(对应于mysql数据库的时间戳)),y轴为双精度值。我能够从MySql数据库中成功检索这些值。我想通过ZingChart绘制它们的帮助
答案 0 :(得分:3)
尼基塔。
从MySQL数据库中检索到值后,您需要将MySQL日期值转换为Unix时间(以毫秒为单位)。我用MySQL日期值填充了一个$date
数组,并在数组上迭代,调用strtotime首先转换为Unix时间,然后乘以1000转换为毫秒。为了能够直接修改循环中的数组元素,我还在$ value之前用引用赋值。
foreach ($date as &$value){
$value = strtotime( $value ) * 1000;
}
现在,$date
数组中的值已转换为正确的格式,是时候从PHP数组创建一个JavaScript数组了。这可以使用join():
var dateValues = [<?php echo join($date, ',') ?>];
结果数组如下所示:
var dateValues = [1356994800000,1357081200000,1357167600000, ... ];
要在ZingChart中使用此数组,请在scale-x对象中使用dateValues变量和“values”。要在ZingChart中将Unix时间值转换回日期,请添加“transform”对象,并将其设置为“type”:“date”。
"scale-x":{
"values": dateValues,
"transform":{
"type":"date",
"item":{
"visible":false
}
}
},
...
这照顾了规模。要在图表中获取其他值,您几乎可以做同样的事情。将PHP数组转换为JavaScript数组,并使用图表JSON中的数组变量。
使用PHP $系列数组:
var seriesValues = [<?php echo join($series, ',') ?>];
在你的图表中JSON:
"series":[
{
"values":seriesValues
}
]
我已将所有这些内容汇编成Github Gist给你。如果您有任何问题,请告诉我们!
答案 1 :(得分:2)
在GitHub上查看我们的demos repo。我们有一个专门针对connecting to a MySQL database with PHP的教程。
我们的网站也有step-by-step walkthrough。
如果您分享您的JSON或有关它的更多详细信息,我可以帮助您将图表放在一起。
我在ZingChart团队。如果您有其他问题,请告诉我。