Доброго времени суток. В MODX с помощью самодельного сниппета получаю данные из таблицы в БД.
Цель: выводить данные в виде списке на сайте. В php и sql полный ноль, а в гугл я явно формулирую задачу неправильно.
Вот код сниппета:
<?php
$sql = "SELECT day, clerk_name, day_shift, night_shift
FROM animal_schedules
JOIN animal_clerks USING (id_clerk)
WHERE day >= '2019-10-05'
ORDER BY day, status, clerk_name";
foreach ($modx->query($sql) as $animal) {
echo '<li> <p class="timetable-date">'.$animal['day'].'<p class="timetable-doctors"><span>'.$animal['clerk_name'].'</span></p><li>';
}
Мне нужно формировать расписание и выводить его. Но сейчас выводится дата, под которой имя человека и далее новая строка с такой же датой но новым человеком, и так пока даты не закончатся.
1) Таблица такого плана. day - дата смены человека. id_clerks, status, day_shift, night_shift
В поле day может быть несколько записей одного и того же дня. То есть если в этот день работает 3 человека, то будет 3 записи одинаковые, но поле id_clerks будет отличаться. Можно ли как сгруппировать (group by просто выводит дату один раз и все остальные пропадают вместе с человеком) что бы дата выводилась одна но выводились все люди работающие в это день? Я предполагаю что тогда foreach нужно будет менять на что-то другое.
2) Либо можно как то все данные, которые приходят поместить в какой то объект, что бы уже из него брать нужные поля и как это сделать? Либо сохранить в ресурс ModX с чем уже проще будет работать?