电子商务网站,php,mysql,数据库。有什么想法吗?

电子商务网站,php,mysql,数据库。有什么想法吗?,php,mysql,database,e-commerce,Php,Mysql,Database,E Commerce,我正试图为我的学校项目创建一个电子商务网站,但我对何时更新数据库中的数量感到困惑。我何时将产品添加到购物车或何时完成订单?如果我在购物车中添加产品时减少数量,而客户未完成订单,则我必须再次增加数量。因此,唯一的方法是在客户完成订单,如果两位客户一起进入最后一页,然后放入if语句检查数量以完成订单,如果两位客户中的一位接受了最后一款产品,那么另一位将收到类似“非常抱歉,最后一款产品在2分钟前售出”的消息。 这是正确的思维方式吗?还有其他想法吗?(对不起我的英语。)这就是所谓的比赛条件 在这种情况下

我正试图为我的学校项目创建一个电子商务网站,但我对何时更新数据库中的数量感到困惑。我何时将产品添加到购物车或何时完成订单?如果我在购物车中添加产品时减少数量,而客户未完成订单,则我必须再次增加数量。因此,唯一的方法是在客户完成订单,如果两位客户一起进入最后一页,然后放入if语句检查数量以完成订单,如果两位客户中的一位接受了最后一款产品,那么另一位将收到类似“非常抱歉,最后一款产品在2分钟前售出”的消息。
这是正确的思维方式吗?还有其他想法吗?(对不起我的英语。)

这就是所谓的比赛条件


在这种情况下,您需要更新第一位客户的库存,以完成交易中的交易,并通知另一位客户库存已用完,或者使用您的第一个想法并减少库存,但如果客户取消重新增加。这两种方法都可以用于计划。

您基本上有两种选择,它们都是有效的:

1) 如果你卖的东西需求量很大(你的数量有限,预计会有很多用户购买,比如音乐会门票或机票),你可以在用户选择时“预订”产品(ticketmaster就是这样处理的)。这通常是通过与预订相关联的计时器完成的,因此,如果用户没有完成购买,则该项目将再次可用,其他用户可以购买该项目

2) 如果您有大量库存,并且认为不会有很多用户对某个特定项目感兴趣,您可以只存储用户在会话中选择的项目,一旦一切正常,就减少数据库中的项目数量。在这里,你也应该考虑什么时候收取信用卡…b/c如果你收取费用然后减少,你可能不得不作废它(费用由你承担)。因此,在这种情况下,理想的做法是减少库存,并在用户订购的物品没有用完的情况下向db收费。如果你这样做了,你应该向用户解释情况,让他找到“类似的项目”,或者做你认为最好的事情。。。但是,我不建议仍然使用剩余物品处理发票,这对用户可能没有意义(即,购买pc和bagpack时,pc不可用…您是否仍应发送bagpack?)


无论如何,希望它能有所帮助。

这个问题的答案与这家商店的政策密切相关。这里有几种可能性:

  • 完全防止缺货(正如你所建议的;有点“打盹,你输了”的态度)
  • 将订单分为两部分——一部分可以立即完成,另一部分无法完成(您甚至可以对延期部分进行预授权,并在其发货时进行后授权)
  • 警告客户,让他们选择要做的事情
还有一些,但这是你需要评估的“政策决定”的一行

如果它们是独一无二的或已停产的商品,那么您需要进行相应的调整(显然,客户不能等到它们恢复库存)

我也这样做了,客户可以要求在商品返回库存时得到通知


我建议您尽可能地提高转化率,并限制客户的失望情绪。

不久前,当我试图建立我的第一家电子商务商店时,我遇到了类似的问题。我所做的一件事是在db中提供一个临时存储,比如当前库存,并将其用作伪库存。当一位客户将该商品放入购物车时,数量将从虚拟存储中扣除,实际库存将在订购时扣除。伪股票成为浏览网站的用户的可见股票


希望有帮助

谢谢,像这样的事情我已经在我的脑海中,但我不是很确定我是否在正确的方向,谢谢,我会尝试通知其他客户时,股票已经没有了。