如何在基于月MySQL的填充数据之后基于每日填充数据

时间:2016-05-06 08:14:24

标签: php mysql angularjs fusioncharts

我正在使用AngularJS和FusionCharts开发一个Web应用程序

我想显示一个基于月度销售额的图表,我已经使用此查询构建了

SELECT DATE_FORMAT(sales_time, '%b') AS Month, SUM(grand_total) 
                               FROM pos_sales 
                               GROUP BY DATE_FORMAT(sales_time, '%b') 
                               ORDER BY sales_time ASC

上面的查询会得到像这样的结果

Month | Grand_total
Apr     250.000
May     150.000

我想使用这个已填充的月份作为数据,根据填充的月份生成每日报告。

问题是我如何根据点击的月份填充数据? 我试图使用此查询

SELECT sales_time, grand_total FROM pos_sales WHERE MONTH(sales_time)

上面的查询填充每日数据,但不按月顺序填充。我希望它是什么样的

Month | Item | Total
May     Item1  250.000
May     Item2  150.000

我可以通过硬编码来创建图形,但它不是我想要的。我希望它是一个基于我的数据库的动态图。

1 个答案:

答案 0 :(得分:0)

首先,如果您需要获取每日报告的数据,您将不得不像这样查询

SELECT sales_time, grand_total FROM pos_sales WHERE MONTH(sales_time) ORDER BY **Date**

这可以解决您按顺序获取所选月份数据的问题。

接下来,在Fusion图表中使用获取的结果集。您应该在SQL查询和渲染图表之间编写解析器。此解析器应按每行解析数据并创建.xml / .json文件(以您方便的方式)并使用此创建的文件呈现图表。

我认为这是建议的方式之一。