我的环境:
django django-rest-framework angular highcharts-ng
数据库 mysql
我目前的 sql 如下:
SELECT count(1) as num,DATE_FORMAT(created_at, '%Y-%m-%d') as riqi FROM Mytable group by (riqi) order by created_at desc limit 30 ;
输入内容如下:
num | riqi
2 | 2012-11-11
1 | 2012-11-12
1 | 2012-11-13
1 | 2012-11-14
1 | 2012-11-15
1 | 2012-11-16
然后输出到客户端 成了如下格式:
[{"num":2,"riqi":"2015-09-22"},{"num":1,"riqi":"2015-09-16"},{"num":1,"riqi":"2015-09-10"}]
这样的格式 无法 直接用于 highcharts
所以我想,让 mysql 输出为:
num | riqi
2,1,1 | 2015-09-22,2015-09-23,2015-09-24
如此的话,我就可以在客户端,就可以直接把 2 个值传递给 highcharts 的 categories 和 series 了
1
dukeardeal 2015-09-25 16:50:34 +08:00 1
先把 json 转成数组,还有把日期转换成时间戳
var mysqlData = '[{"num":2,"riqi":"2015-09-22"},{"num":1,"riqi":"2015-09-16"},{"num":1,"riqi":"2015-09-10"}]'; var data = eval("("+mysqlData+")"); var chartsData = []; for (i = 0; i < data.length; i++) { var datetime = data[i]["riqi"].replace(/-/g,'/'); chartsData.push([ Date.parse(new Date(datetime)), parseFloat(data[i]["num"]) ]); } 然后 series 这样写调用数组就可以啦 series : [{ name : 'data', data : chartsData }] |
2
dukeardeal 2015-09-25 17:01:09 +08:00 1
啊,没认真看帖,原来是要直接输出给 highcharts 用,请无视我。。。
|
3
markmx 2015-09-25 17:05:12 +08:00 1
GROUP_CONCAT
|
4
ljbha007 2015-09-25 17:10:13 +08:00 1
你自己合并一下就好了啊 非要插出来什么样就怎么返回么?
|
5
ljdawn 2015-09-26 13:00:52 +08:00
这毛关系都没有。。。。。。。
|