PHPについて質問です。

現在ショッピングカートを作成しているのですが、ページに来られた人が商品を同時に購入したり、もしくは時間差によ
って在庫切れになるというケースが発生したりするケースがあると思うのですが、
そういったことを防ぐためにショップを運営されている方はなにか工夫をされていたりするのでしょうか。
少し疑問に思ったため質問をさせていただきました。詳しいかたおりましたらご回答よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/04/04 23:45:26
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Km1967 No.2

回答回数224ベストアンサー獲得回数35

ポイント27pt

時間差を完全に解消する手段はない。通常店舗であれば注文カウンターに並んだ時点の早い者勝ちと考えると解りやすかろう。

難しく考えず、発注処理に進んだ段階で在庫と照らし合わせて「承りました」「在庫切れ」と振り分ければ良い。


念のため言っておくが、出来る限り詳細にやろうと少しでも考えてしまうと途端にシステムは複雑になる。

Ajaxなどを用いて常時ブラウザ上の数値とサーバ上の在庫を照らし合わせるなどの仕組みが必要になるからだ。それとても、常時とはどのくらいのタイミングで確認を取るのが良いのやらというような問題が引き続きぞろぞろと出てくる。 それでもやるというなら留めはせぬが、やめておいたほうが無難だとは言っておく事にする。

id:aiomock

ご回答ありがとうございます。

2010/04/04 23:36:57

その他の回答2件)

id:ko8820 No.1

回答回数1221ベストアンサー獲得回数69

ポイント27pt

システム的には、決済時に確定の在庫確認処理を行うので、

ほとんどの場合が、この決済時の確定時に在庫切れかどうかが厳密に判定されるので

在庫切れの心配はほとんど要らない。

>そういったことを防ぐためにショップを運営されている方はなにか工夫をされていたりするのでしょうか。

一部の商品は、在庫をシステム入力よりも多めに持っている

id:aiomock

ご回答ありがとうございます。

2010/04/04 21:29:01
id:Km1967 No.2

回答回数224ベストアンサー獲得回数35ここでベストアンサー

ポイント27pt

時間差を完全に解消する手段はない。通常店舗であれば注文カウンターに並んだ時点の早い者勝ちと考えると解りやすかろう。

難しく考えず、発注処理に進んだ段階で在庫と照らし合わせて「承りました」「在庫切れ」と振り分ければ良い。


念のため言っておくが、出来る限り詳細にやろうと少しでも考えてしまうと途端にシステムは複雑になる。

Ajaxなどを用いて常時ブラウザ上の数値とサーバ上の在庫を照らし合わせるなどの仕組みが必要になるからだ。それとても、常時とはどのくらいのタイミングで確認を取るのが良いのやらというような問題が引き続きぞろぞろと出てくる。 それでもやるというなら留めはせぬが、やめておいたほうが無難だとは言っておく事にする。

id:aiomock

ご回答ありがとうございます。

2010/04/04 23:36:57
id:Bombastus No.3

回答回数409ベストアンサー獲得回数52

ポイント26pt

ご承知のように、利用者がカートに入れたタイミングと決済のタイミングには時間差があるため、その間に別の利用者が品物を買うことで在庫切れになる可能性は津根にあります。

そこで、売れ筋商品は「安全在庫」という形で、実際の在庫量より少なめの在庫をネットにオープンするようにするのが普通です。


とはいうものの、あまり多く安全在庫を持つと、それが不良在庫となるリスクがあります。

この安全在庫を幾つくらい持つかということが、ネット通販のひとつのノウハウになっています。

id:aiomock

ご回答ありがとうございます。

2010/04/04 23:37:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません