###やりたいこと
ある予定表があるとして、そのフォームの項目に入力後DBへ登録という作業を行っていきます。
とりあえずフォームとDBの部分の流れはなんとかなっておりますが、、、
DBの設計上ただのIDの他にその予定表のプランIDのような紐付けができるIDを作成したいと思ったのですが、いろいろこちらの条件を考えた時にどうしたらいいのかな?と思ったので質問いたします。
###DBの設計と入力内容
入力するフォームと内容
HTML
1<form action="" method="post"> 2<select name="year">// 中は省略します</select>年 3<select name="month">// 中は省略します</select>月 4<select name="day">// 中は省略します</select>日 5<select name="car">// 中は省略します</select>号車 6訪問先<select name="user[0][name]"></select> 7訪問時間<select name="user[0][hour]"></select>:<select name="user[0][minutes]"></select> 8訪問スタッフA<select name="user[0][staffA]"> 9訪問スタッフB<select name="user[0][staffB]"> 10訪問スタッフC<select name="user[0][staffC]"> 11<!-- 訪問先~訪問スタッフCまでは全部で8行あります --> 12<input type="submit" name="plan_insert"> 13</form>
DBに関して
MySQL
1[visitPlan] 2id int not null auto_increment // とりあえず一行毎のIDを作成しておくと編集とかしやすいと考えて 3planId int // 他のテーブルとの紐付け用 4visitUser int // user_masterと紐付け user_idが入る 5visitTime datetime // 訪問日と訪問時間 6visitCar int // car_masterと紐付け 乗車する車 7 8[user_master] 9user_id int not null 10user_name varchar(30) 11// 他項目は省略 12 13[car_master] 14car_id 15car_name 16 17[staff_master] 18staff_id 19staff_name 20 21[visitPlan_staff] 22id int not null auto_increment 23planId int 24visitStaff int // staff_masterから紐付け 25
###質問内容
とりあえず、少ない知識から上記のような形で作成をしてみました。
まだまだ雑さが拭えていないのはスルーしてください、、、、
今考えうる条件等
1.登録する際に操作する人は1人ではない、、、最大4~5人
※ぴったり同一の時間にサブミットすることは少ないとは思いますが、もしかするとがあるかも?
そもそも無料のホスティンガーというサーバーなので、あまり人数が同時にアクセスすると繋がらないので、大丈夫だとは思うがAさんがやる時ではなく、サブミットされてDBにInsertされる時に判定されればいいのかな?
ぶつかることを考えるとどうしたらいいのか、この辺りはまったくわからない。
2.プラン用のIDはこちらが指定するのではなく、いつの間にかPHP側などで判別、判定してつけてくれる
3.プラン用のIDの桁数は6桁としたい。
※000001~999999まで
流れ等のヒントでよいのでアドバイスお願いできますでしょうか?
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/06 04:20 編集
2016/06/06 04:31
2016/06/06 05:06
2016/06/06 10:01