A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>この場合ですとMaxの人数をテーブルで作りそれで引いてく感じでしょうか?
データベースをどう作るかは人それぞれなんですが…。
私だったら、
商品データベース
|商品管理番号|日付|内容|最大人数|
申込データベース
|申込管理番号|申込商品番号|申込日|申込時刻|申込人数|
最低限この2つは作り、前者データベースで商品の管理をする、後者データベースにフォームからの申し込みを記録していく、みたいにやる感じでしょうか。
「あと○人」は、商品データベースの最大人数から、申し込みデータベースのその商品に対する申込人数を合計した物を引き、表示します。
もしその数値がマイナスになるならば、それは申し込みをオーバーしたということですが。
先に申し込んだ人がキャンセルすることもありますよね?
それならば、最大人数に達したからと言って申込不可になるのではなく、「キャンセル待ち」として受け付けておくのが、良いように思います。
----
まあ、キャンセル待ちとかも考えないならば、
残数データベース
|管理番号|残り人数|
というデータベースで、直接数値操作するように作っちゃってもいいですけど…。
No.2
- 回答日時:
HTMLで書いてあるPHPとは別に、データベースが必要になります。
PHPからは、そのデータベースを参照して、「あと○人」だとか、実際に申し込みが行われれば、申込人数をカウントしていったりします。
考え方としては、最大予約人数のデータと、申し込み人数のデータを別に持ち、「最大予約人数 - これまでの申込人数合計」を計算して、「あと○人」等のように表示した方がいいでしょう。
「あと○人」というデータを用意して、直接減じていく方法はお勧めしません。
Webフォームは何人からもアクセスされるものですので、ほぼ同時に減じようとしてしまったり、予約がいっぱいになったときにどっちが先か後かとか、後にキャンセルがあったとか、キャンセル待ちの処理などがかえって複雑になってしまいます。
以下のページなどを参照し、簡単なデータベースを構築、それを、参照・更新していくように、作ります。
>データベースとSQL - PHP入門
>http://ponk.jp/php/basic/database
----
原始的な方法としては、人数を記録する別ファイルを1つ用意して、それを書き換えていくなんていう方法もありますが…。
単純なファイル書き換えは同時アクセスに弱く、よほど気をつけて作らないと、すぐにファイルが壊れます。
データベースとSQL文の操作により、データベースの更新をするのはDBシステム一つということになるので、同時アクセスがあっても壊れません。
ほぼ同時のアクセスがあったとしても、それは順番に処理されていくこととなり、データは保全されるというわけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Googleフォーム・複数人の申し込みをまとめて受け付けたい 1 2023/01/09 13:36
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Microsoft ASP グーグルフォーム 1 2022/12/30 18:16
- PHP フォームで戻った際に入力済みの値が残るのを消したい 3 2023/02/17 13:58
- Google Drive Google form グーグルフォームのイベント参加者名を複数入力するには 3 2023/03/15 18:36
- その他(ソフトウェア) YahooのIDがロックされてしまいました 1 2022/11/25 19:49
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- 消費者問題・詐欺 ラムドレミという副業サイト?がありLINE追加をしたのですが スキドレミやユルドレミなど似たような名 1 2022/11/06 21:36
- JavaScript 助けてください!スパムメールがとんでもなく大量に届きます。 3 2023/08/10 16:32
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
申し込みフォームで人数制限の...
-
一点一葉とはどんな意味ですか?
-
エクセル宛名ラベルが重複する
-
連絡先をあいうえお順にするに...
-
ワードかエクセルで、KOKU...
-
ラベルの差込印刷で2ページ目以...
-
ワードの差し込み印刷で,ペー...
-
PDFファイル
-
accessデータを指定したExcel、...
-
インデックスに印刷する方法
-
ステートメントの末尾が不正です
-
Excel2019 非表示モジュール内...
-
イベントプロパティに指定した...
-
ピボットテーブルのΣ値のタイト...
-
VBA+VBSによる別インスタンスB...
-
VBA初心者です。コンパイルエラ...
-
ワード差し込み印刷:作成した...
-
PC起動時にAccessも一緒に立ち...
-
CDやDVDの表面へのラベル...
-
エクセルでマイタックラベルへ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グーグルアースをオフラインで使う
-
Access2021でブラウザで操作
-
ワードかエクセルで、KOKU...
-
一点一葉とはどんな意味ですか?
-
連絡先をあいうえお順にするに...
-
エクセル宛名ラベルが重複する
-
インデックスに印刷する方法
-
ラベルの差込印刷で2ページ目以...
-
ワードの差し込み印刷で,ペー...
-
VBA+VBSによる別インスタンスB...
-
Excel2019 非表示モジュール内...
-
accessデータを指定したExcel、...
-
ステートメントの末尾が不正です
-
PDFファイル
-
フラットファイルの背表紙部分...
-
AccessからWordの差し込み印刷...
-
エクセルでマイタックラベルへ...
-
ピボットテーブルのΣ値のタイト...
-
筆王
-
Linux再起動後のエラーメッセー...
おすすめ情報