Я занимаюсь разработкой веб-приложения с использованием AngularJS и FusionCharts
Я хочу отобразить график, основанный на ежемесячных продажах, которые я построил с помощью этого запроса.
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
Я могу создать график, жестко закодировав его, но это не то, что я хочу. Я хочу, чтобы это был динамический график, основанный на моей базе данных.
Во-первых, если вам нужно получить данные для ежедневного отчета, вам нужно будет запросить его следующим образом
SELECT sales_time, grand_total FROM pos_sales WHERE MONTH(sales_time) ORDER BY **Date**
Это должно решить вашу проблему получения данных за выбранный месяц в порядке.
Далее, чтобы использовать выбранный набор результатов в диаграммах Fusion. Вы должны писать анализатор между диаграммой запросов и рендеринга SQL. Этот анализатор должен анализировать ваши данные по каждой строке и создавать файл .xml / .json (в зависимости от того, что вам удобно) и использовать этот созданный файл для визуализации вашей диаграммы.
Я чувствую это как один из предложенных способов.
Других решений пока нет …