我正在使用的代码如下。 我想根据数据库表中的数据制作一个简单的图表。 它现在正在工作,但我希望底轴上的日期不正确。 而变量的值是
[25-03-15, 1236], [26-03-15, 3000], [27-03-15, 3054], [30-03-15, 4000]
这是对的。但我不能在x轴上得到这个日期。有解决方案吗? 我得到这个值的方式是
<?php
$usd=$this->db->query('select transaction_date, SUM(amount) as total from transactions GROUP BY transaction_date')->result_array();
$str = '';
for($i=0; $i<count($usd); $i++){
if($i!=0){
$str = $str.', ['.date('d-m-y', strtotime($usd[$i]["transaction_date"])).', '.$usd[$i]["total"].']';
}else{
$str = $str.'['.date('d-m-y', strtotime($usd[$i]["transaction_date"])).', '.$usd[$i]["total"].']';
}
}
echo $str;
?>
然后我在java脚本中传递这样的数据:
var graphData = [{
data: [ <?php echo $str; ?>]
}
];
但最后我无法在x轴上得到日期。
PS: 我正在研究codeigniter应用程序的视图。
答案 0 :(得分:0)
查看documentation的时间序列数据。
您需要javascript时间戳。在PHP中,您只需使用
即可获得它们strtotime($usd[$i]["transaction_date"]) * 1000
然后您的数据应如下所示:
[1427238000000, 1236], [1427324400000, 3000], ...
对于x轴上的标签,请使用timeformat
选项获取所需的格式:
xaxis: {
mode: "time",
timeformat: "%d-%m-%y"
}