deadloop
@deadloop
Активно осваиваю PHP

Как правильно данные расставить в таблице?

Есть запись в базе данных:

name: Иван
Day: Вторник
Project: 1

name: Геннадий
Day: Суббота
Project: 2

Как мне занести в таблицу эти данные, что-бы получилось:
601170ccc3015517878631.jpeg

Мой код:
<table class="table">
<thead>
    <tr>
    <th scope="col">Проект</th>
    <th scope="col">Пн</th>
    <th scope="col">Вт</th>
    <th scope="col">Ср</th>
    <th scope="col">Чт</th>
    <th scope="col">Пт</th>
    <th scope="col">Сб</th>
    <th scope="col">Вс</th>
    </tr>
</thead>

{% for user in users %}
<tbody>
    <tr>
    <th scope="row">{{ user.project }}</th>
    Тут нужно добавить код...
    </tr>


</tbody>

{% endfor %}
</table>
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Вы можете решить эту задачу при помощи базы данных:
select 
	projects.id,
	GROUP_CONCAT(if(day=1, name, null)) as Monday,
	GROUP_CONCAT(if(day=2, name, null)) as Tuesday,
	GROUP_CONCAT(if(day=3, name, null)) as Wednesday,
	GROUP_CONCAT(if(day=4, name, null)) as Thursday,
	GROUP_CONCAT(if(day=5, name, null)) as Friday,
	GROUP_CONCAT(if(day=6, name, null)) as Saturday,
	GROUP_CONCAT(if(day=7, name, null)) as Sunday
from projects
group by projects.id
;


Результат:
+====+========+=========+===========+==========+========+==========+========+
| id | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
+====+========+=========+===========+==========+========+==========+========+
| 1  | John   |         |           |          |        |          |        |
+----+--------+---------+-----------+----------+--------+----------+--------+
| 2  |        |         |           | Jack,Mike|        |          |        |
+----+--------+---------+-----------+----------+--------+----------+--------+


Проверить SQL запрос
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы