Nikita.
从 MySQL 数据库检索到值后,您需要将 MySQL 日期值转换为以毫秒为单位的 Unix 时间。我已经填充了一个$date
包含 MySQL 日期值的数组,并迭代该数组,调用 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 变量。要将 Unix 时间值转换回 ZingChart 中的日期,请添加“transform”对象,并将其设置为“type”:“date”。
"scale-x":{
"values": dateValues,
"transform":{
"type":"date",
"item":{
"visible":false
}
}
},
...
这可以解决规模问题。要在图表中获取其他值,您需要执行几乎相同的操作。将 PHP 数组转换为 JavaScript 数组,并在图表 JSON 中使用数组变量。
使用 PHP $series 数组:
var seriesValues = [<?php echo join($series, ',') ?>];
在您的图表 JSON 中:
"series":[
{
"values":seriesValues
}
]
我把所有这些都编译成一个Github 要点 https://gist.github.com/NMastracchio/3c6ca1ef5d925b5bbbe0为你。如果您有任何疑问,请告诉我!