J'ai une structure de base de données semi-complexe (pas vraiment, mais ce n'est pas non plus simple):MySQL, données PHP et tabulaires
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
En conséquence, je me sers d'un multiple joindre instructions SELECT pour récupérer les données dont j'ai besoin, tels que:
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
Ce que je voudrais faire est de produire une table où les slots
sont un axe et le teachers
sont l'autre axe, avec le nom de l'enfant réservé pour cet enseignant dans ce créneau horaire en tant que données réelles.
Le tableau slot
ressemble à ceci:
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
Le tableau appointments
ressemble à ceci après quelques entrées:
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
J'ai essayé de mettre quelque chose ensemble en utilisant PHP, mais il a vraiment fait mal ma tête !
Quelqu'un peut-il recommander une solution, sans utiliser de scripts externes?
EDIT selon la demande est ici une petite capture d'écran de ce que je suis en train de réaliser. Je l'ai fait en Excel mais évidemment, par sujet, je le veux en PHP/HTML.
Merci à l'avance,
Veuillez montrer un petit exemple de sortie désirée. –
Merci pour la suggestion @MarcusAdams - Je l'ai fait maintenant. – dunc