我正在使用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
我可以通过硬编码来创建图形,但它不是我想要的。我希望它是一个基于我的数据库的动态图。
答案 0 :(得分:0)
首先,如果您需要获取每日报告的数据,您将不得不像这样查询
SELECT sales_time, grand_total FROM pos_sales WHERE MONTH(sales_time) ORDER BY **Date**
这可以解决您按顺序获取所选月份数据的问题。
接下来,在Fusion图表中使用获取的结果集。您应该在SQL查询和渲染图表之间编写解析器。此解析器应按每行解析数据并创建.xml / .json文件(以您方便的方式)并使用此创建的文件呈现图表。
我认为这是建议的方式之一。