#mysql #laravel #laravel-4 #mysql-workbench
#mysql #laravel #laravel-4 #mysql-workbench
Вопрос:
Мне нужно отобразить линейный график в Morris js chart. В настоящее время я отображаю данные за неделю, начиная с текущей даты, и запрос Mysql, который я использую, является
select count(*) from jobs where corp_id = '.$this->user->corp_id.' and DATE(created_at) = DATE_ADD(current_date(), INTERVAL -0 DAY) and job_status = 0 limit 1
select count(*) from jobs where corp_id = '.$this->user->corp_id.' and DATE(created_at) = DATE_ADD(current_date(), INTERVAL -1 DAY) and job_status = 0 limit 1
В настоящее время я пишу несколько запросов, повторяя запрос вручную, изменяя ИНТЕРВАЛ -0 ДНЕЙ на 1,2,3,4 и так далее и помещая их в единый набор результатов.Я отображаю даты по оси X на своей странице, самостоятельно присваивая значения оси x коду Morris js. Я использую PHP для этого. Теперь мне нужно обновить мою диаграмму с большей наглядностью, изменив период времени.
Есть ли какой-либо способ получить данные и, переключая вкладки, подобные этой, данные должны быть изменены в соответствии с выбранным временем. Даже мне нужен способ, если возможно, добавить даты вместе с результатом моего запроса, чтобы ось x динамически заполнялась из самих внутренних значений.
Я использую фреймворк PHP Laravel с MySQL в качестве базы данных. Даже запрос Laravel тоже хорош.
пробовал этот запрос, используя значение интервала 30 (для месяца)
select count(*), DATE(created_at) from jobs where corp_id = 37 and DATE(created_at) >= DATE_ADD(current_date(), INTERVAL -30 DAY) and job_status =0 group by DATE(created_at);
но я также должен получить даты, которые не дают результата, чтобы показать количество 0 с соответствующей датой.
Комментарии:
1. Глядя на ваш массив, у вас есть строка JSON с ключом 0, а не многомерный массив. Вам нужно json_decode строку, чтобы ссылаться на нее как на массив. Не полный ответ, но это проблема номер 1.