###DBの設計
MySQL
1[visit_plan] 2plan_id int not null primary key 3user varchar(10) 4time datetime 5 6[visit_staff] 7id int not null auto increment primary key 8plan_id int not null 9staff varchar(10)
上記のようにまずデータベースを作成しました。
###テストデータ
plan_id = 1111
user = ABC
time = 2016/07/09 12:30:00
staff = A
staff = B
staff = C
※staffに関しては1人~3人が可変です
###DBの中を見る
[visit_plan]
plan_id | user | time
1111 | ABC | 2016/07/09 12:30:00
[visit_staff]
id | plan_id | staff
1 | 1111 | A
2 | 1111 | B
3 | 1111 | C
テストデータを入れた場合、このようにテーブルの中に入ります。
###結合して表示させる
MySQL
1"SELECT plan_id, user, time, staff FROM visit_plan P INNER JOIN visit_staff S ON P.plan_id = S.plan_id"
とりあえずINNER JOINで結合してみると、下記のようになるかと思います。
plan_id | user | time | staff
1111 | ABC | 2016/07/09 12:30:00 | A
1111 | ABC | 2016/07/09 12:30:00 | B
1111 | ABC | 2016/07/09 12:30:00 | C
###質問内容
上記の表示を下記のように表示させたいのですが、どのようになるのでしょうか?
検索するのに、言葉も思いつかず、、、
plan_id | user | time | staff | staff | staff
1111 | ABC | 時間 | A | B | C
このような形にできますでしょうか?
###解決?
回答ありがとうございます。。。
MySQLというよりPHPを書きながら少しこっちでいじってみようと思い、そもそもの考え方を変えました。
1.まずは、plan_id, user, timeを引っ張ってきて
2.plan_idを使ってvisit_staffにwhereで指定
3.foreach内でfor文を使って回す
この流れで表示ができました!
回答1件
あなたの回答
tips
プレビュー