現在、私はPHP
とMySQL
のCodeigniterフレームワークを使用してタイムテーブルプログラムを開発しています。私は配列としてschedule
テーブルの各行を取ることができるスケジュールデータからタイムテーブルビューを作成
+-------------+--------------+-----------+--------+
| Schedule ID | Subject Name | Day | Period |
+-------------+--------------+-----------+--------+
| 1 | Biology | Monday | 1 |
| 2 | Biology | Wednesday | 2 |
| 3 | Biology | Friday | 3 |
| 4 | Physics | Tuesday | 8 |
| 5 | Physics | Thursday | 6 |
| 6 | Math | Monday | 7 |
+-------------+--------------+-----------+--------+
:私は、以下のデータを有するschedule
テーブルを有しています。私は(HTML
テーブルを使用して)次のビューでタイムテーブルを作成したい:
+---+---------+---------+-----------+----------+---------+
| # | Monday | Tuesday | Wednesday | Thursday | Friday |
+---+---------+---------+-----------+----------+---------+
| 1 | Biology | | | | |
+---+---------+---------+-----------+----------+---------+
| 2 | | | Biology | | |
+---+---------+---------+-----------+----------+---------+
| 3 | | | | | Biology |
+---+---------+---------+-----------+----------+---------+
| 4 | | | | | |
+---+---------+---------+-----------+----------+---------+
| 5 | | | | | |
+---+---------+---------+-----------+----------+---------+
| 6 | | | | Physics | |
+---+---------+---------+-----------+----------+---------+
| 7 | Math | | | | |
+---+---------+---------+-----------+----------+---------+
| 8 | | Physics | | | |
+---+---------+---------+-----------+----------+---------+
私は上記の形式でテーブルを作成することに関するいかなる助けをいただければ幸いです。あなたがPeriod
代わりのScheduleID
によってグループ化したいように見える
:
SELECT ScheduleID,
MAX(CASE WHEN Day = 'Monday' THEN SubjectName END) AS Monday,
MAX(CASE WHEN Day = 'Tuesday' THEN SubjectName END) AS Tuesday,
MAX(CASE WHEN Day = 'Wednesday' THEN SubjectName END) AS Wednesday,
MAX(CASE WHEN Day = 'Thursday' THEN SubjectName END) AS Thursday,
MAX(CASE WHEN Day = 'Friday' THEN SubjectName END) AS Friday
FROM mytable
GROUP BY ScheduleID
編集:
あなたはこれまでにやっていることを共有することはできますか?どんなPHPコードであれ、私たちの役に立つでしょう。 –