質問: すみません。 宿泊予約のサイトを作りました。 宿泊日(チェックイン日)を選択しそこから何泊するかを入力してもらいphpで計算しdbに格納、全体の部屋数から予約された部屋数を引いています。 1,sqlの関数(算術等 sqlのDATE_ADDなど)はどこで使えばよいのでしょうか? 計算であればphpでやったほうが処理速度的にも早い気がしますが、sql単体で計算することってあるのでしょうか?例えばですが別の作品で1カ月をはかるために、毎月cronで31を代入し毎日-1しているのですが不正確のため 「今月の日付を求めそれをデフォルトで代入しておく」 のような使い方でしょうか? 2.現在、例えば7/26より2泊3日とした場合、7/27と7/29という日付データ(もちろん人数も別で入力してもらいます。) をphpで計算後dbへ格納という流れなのですが、7/27・7/28・7/29のように7/28を出すにはどのようにしたらよいのでしょうか? 現在、 echo date('Y/m/d',strtotime("2021-07-26 +2 day+1 day ")); のようにしています。 3,ネット予約でアカウントを持っていない人が予約をする場合、アカウント登録を勧められますが、メールで住所・氏名・電話番号などの情報をやり取りするのは危険だからでしょうか?それとも今後の予約を楽にさせるためでしょうか? 長文ですみません。 よろしくお願いします。
回答: >sqlの関数(算術等 sqlのDATE_ADDなど)はどこで使えば 普通はphp側で予約日を設定して、その日付の分だけ処理します(SQLの関数で算出することはありません)。開始日と日数から、予約日を求めるのは下記のようにすればいいのでは? "; >アカウント登録を勧められますが 少なくともアカウント登録の手順を踏めば「メールアドレスが正しいこと」は確認できますよね(あくまでも「その時点では」ですが)。 アカウント登録なしでメールアドレスや連絡先を入力してもらったとしても、そのメールアドレスが間違っていたら(エラーメールが返ってきたら)面倒じゃありませんか? もちろん営業的な戦略としても(常連さんを増やす)必要だとは思います。