Сводный отчёт по месяцам.

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Chelobaka
Сообщения: 214
Зарегистрирован: 2018.06.01, 09:54

Сводный отчёт по месяцам.

Сообщение Chelobaka »

Приветствую,

Подскажите пожалуйста направление для поиска решения.

Нужно сделать отображение оплат по месяцам для группы юзеров.
То есть может быть выбран диапазон Янв - Сен (от 1 до 12 месяц). Выбраны все пользователи и создана таблица.

Есть 2 таблицы: Пользователи и Оплаты. В таблице оплаты данные за каждый месяц, но не более одной (может не быть вовсе).
Вопрос в том, как сделать таблицу с произвольным количеством столбцов, обработчиком в зависимости от месяца столбца и пользователя.



На рисунке вместо годы будут фамилии юзеров.
Изображение
Последний раз редактировалось Chelobaka 2019.03.02, 23:16, всего редактировалось 1 раз.
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Re: Сводный отчёт по месяцам.

Сообщение kawabanga »

Делайте ;)
Аватара пользователя
Chelobaka
Сообщения: 214
Зарегистрирован: 2018.06.01, 09:54

Re: Сводный отчёт по месяцам.

Сообщение Chelobaka »

kawabanga писал(а): 2019.03.02, 16:07 Делайте ;)
Форму обращения исправил, спасибо.
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Re: Сводный отчёт по месяцам.

Сообщение kawabanga »

Реализаций много, очень многое зависит от того, насколько быстро отображаться данные должны быть, сколько их будет и тд. Если не критично время выполнения, то можно вот так собрать

1) БД , можно по желание right join с таблицы пользователей добавить
"select *, CONCAT(MONTH(`date`),':', user_id) as `cell` from payments ....
group by `cell` "

2)
foreach ($users as $user):

foreach ($months as $month):
<isset($cell) ? $cell : 0>
frid-karatel
Сообщения: 50
Зарегистрирован: 2017.03.06, 15:37
Откуда: Владивосток

Re: Сводный отчёт по месяцам.

Сообщение frid-karatel »

Не могу понять, в чём проблема - сделать нужный JOIN?
Или вывести это во вьюшку через, скажем, GridView?
Ответить