どう質問していいかもよくわからないミラクル初心者ですがお願いします。
アドバイス頂きたい事
・下記コードパターンでのDB登録方法。
・おそらくそれ以前の問題であるDB設計、必要テーブル、カラム等
(スモールビジネス向けの為、現状からでも遅くないかと)
コード、画像は下に貼っています。
予約システムを練習で作っていて、2022-03-16 11:00 のような文字列データをデータベースに登録したいです。
DBにはDatetime型で入れればいいと思うのですが、どうやって入れればいいのか?で詰まっています。
↓↓ボタンが押されたら のforの中でsqlを書けばいいのかな?と思ってはいるのですが、それが正解だとしても書き方が分かりません。
forでechoはできたので、どうやって入れるのか教えて頂きたいです。
というのも、配列のままDBへ入れるという事が自分にとって不可能案件過ぎて現状に至りました。
この仕組みの壁(自分にとって)は、いくつ選択されるか分からないという点です。
選択上限数は7か8で設定します(今後の課題)
全体像
会員数40人程度のスモールビジネス予約システムをイメージしています。
1,予約プランによって選択(予約)できる上限数が決まっている 1枠=1時間
例↓
ライトプラン:3回
スタンダードプラン:5回
マスタープラン:7回
(月に7コマ=7時間)枠が空いていれば1日に7コマ予約してもOK。(いるわけない)
2,予約完了ボタンを押したら
①,DB保存:(登録日(Y-m-d H:i:s) 選択した時間(例☆:2022-○○-○○ 13:00)
最初は【2022-02-22(火)13:00~14:00】というデータだったのですが、このまま文字列型で保存
したとして、その後の機能追加や管理に悪影響?というか不可能?と思い例☆の様にしました。
あとはDatetimeでぶちこめばいいのかと…これらの考えもあってるのかどうなのか分かりません 。
②,予約完了メール:送信ユーザーと管理側に予約完了メールを送信
③,予約状況:画像のマス(選択すると青くなる部分)に予約が入っていれば「✕」マークを付けたい
3,キャンセル機能を付けたい。
4,平日、土日、何曜日の何時~何時の枠が人気なのか等の集計、ユーザーの予約履歴、全体の予約履歴?がsqlで管理できるようにしたい。
DBに必要な情報(自分の頭の中では)
ID、氏名、、ふりがな、〒、住所、電話、メールアドレス、ログインID、ログインパスワード
等はすでに作ってあり(同じテーブル)テスト用情報複数登録済、ログイン、ログアウトもできる状態です。
それ以外は作っていません。
作る前にDB設計からだろ…と自分でも思いますが、ミラクル初心者なのでご容赦下さい。
・「予約する」ボタンを押した日時(予約が重なった場合、秒単位で早い方が成功する様に)
・予約した時間枠
等のアドバイスお願いしますm(__)m
登録日時取得の為 $days = date ("Y-m-d H:i:s") // $hiduke[] からそれぞれの値を取得し、日付が若い順に並べる $hiduke = ($_GET['hiduke']); array_multisort( array_map( "strtotime", $hiduke ), SORT_ASC, $hiduke ) ; //$hiduke[] に入っている値と数を取得し、それぞれのnameにindexを付ける for($i=0;$i < count($hiduke); $i++){ echo '<input type="text" value="'.$hiduke[$i].'" name="time'.$i.'"></input>'; } ● //for文のループ回数 $i を取得 (配列から取り出し、indexを付ける為) echo '<input type="hidden" name="kaisu" value="'.$i.'">'; //登録日 echo '<input type="hidden" name="day" value="'.$days.'">'; ↑↑ ここまで…この○個の日時が選択されています。予約しますか? 「戻る」ボタンと「予約する」ボタン ↓↓予約するボタンが押された if (isset($_POST)){ ●forのループ回数 $kaisu = ($_REQUEST['kaisu']); for ($i=0; $i<$kaisu; $i++){ echo $_REQUEST['time'.$i.''] .'<br>'; } 登録日 echo $_REQUEST['day']; コード
回答1件
あなたの回答
tips
プレビュー