У меня есть полусложная (не совсем, но и не самая простая) структура базы данных:
appointments
= id
, teacher_id
, child_id
, slot
child
= id
, parent_id
, name
, form
parent
= id
, name
, contact_details
teacher
= id
, name
, subject
slot
= id
, time
В результате я использовал несколько множественных объединений SELECTоператоры для извлечения данных, которые мне нужны, такие как:
SELECT
DISTINCT ( ( c.id +150 ) *1055 ) AS reference_number,
p.name AS parent_name,
c.name AS child_name,
c.form AS child_form
FROM appointments AS a
INNER JOIN child AS c ON a.child_id = c.id
INNER JOIN parent AS p ON c.parent_id = p.id
Я хотел бы создать таблицу, в которой slots
- одна ось, а teachers
- другая ось, симя ребенка, зарегистрированного для этого учителя в этом временном интервале, в качестве фактических данных.
Таблица slot
выглядит следующим образом:
SQL query: SELECT * FROM `slots` LIMIT 0, 30 ;
Rows: 30
id time
1 2012-03-15 16:00:00
2 2012-03-15 16:05:00
3 2012-03-15 16:10:00
4 2012-03-15 16:15:00
5 2012-03-15 16:20:00
6 2012-03-15 16:25:00
7 2012-03-15 16:30:00
8 2012-03-15 16:35:00
9 2012-03-15 16:40:00
10 2012-03-15 16:45:00
11 2012-03-15 16:50:00
12 2012-03-15 16:55:00
13 2012-03-15 17:00:00
14 2012-03-15 17:05:00
15 2012-03-15 17:10:00
16 2012-03-15 17:15:00
17 2012-03-15 17:20:00
18 2012-03-15 17:25:00
Таблица appointments
выглядит следующим образомпосле нескольких записей:
id teacher_id child_id slot
1 1 1 3
2 2 1 5
3 1 3 2
4 2 3 6
5 1 4 4
6 2 4 7
7 1 5 1
8 2 5 9
9 1 6 8
10 2 6 3
Я пытался собрать что-то вместе, используя PHP, но это действительно ранило мою голову!
Может кто-нибудь порекомендовать решение, без использования внешних скриптов ?
РЕДАКТИРОВАТЬ согласно требованиюВот небольшой скриншот того, чего я пытаюсь достичь.Я сделал это в Excel, но, очевидно, что по теме, я хочу это в PHP / HTML.
Заранее спасибо,