Highcharts - 来自MySQL的预期格式的系列数据

时间:2015-02-24 23:40:29

标签: mysql highcharts

我在使用highcharts时遇到了一些麻烦。

我想生成一个与此类似的图表:http://www.highcharts.com/demo/column-basic

我的问题与系列数据有关。我有一些SQL查询,一个用于类别(我获取不同的数据),另一个用于获取系列的结果,即一些X和Y值。

我的数据库中的数据格式如下(这是数据库的实际结果):

Year Value
2012 9747600000
2012 9358200000
2013 9494830000
2013 9459250000
2013 9478030000
2013 9592300000
2013 9535060000

据我所知,highcharts期望采用这种格式:

Name: 2012
Data: [9747600000, 9358200000]
Name: 2013
Data: [9747600000, 9358200000]

如何直接从MySQL生成这样的格式?有什么更好的方法呢?

提前致谢!

修改

我认为已接受的解决方案可以按照我的意愿运行,但我仍然无法将此信息传递给Highcharts。尽管查询按预期工作,但我无法返回具有以下格式的数组:

[{
name: 'Tokyo',
data: [49.9, 71.5, 106.4]

}, {
name: 'New York',
data: [83.6, 78.8, 98.5]

}]

有什么想法可以解决这个问题吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您可以尝试以下查询:

SELECT YR, GROUP_CONCAT(VAL)
FROM TimeTable
GROUP BY YR;

这将获得不同的年份,并将值连接为一个(逗号分隔)。

以下是SQL Fiddle的示例: http://sqlfiddle.com/#!2/7859c/1

答案 1 :(得分:1)

你可以运行一个foreach循环并把它放在像

这样的数组中
`<?php
$newArray = array();
 foreach ($result  as $year=>       $value) {
   $newArray[$year][ ] = $value;
 }
 Print_r($newArray);
?>`