【问题标题】:PHP:update a stock with values in the cartPHP:使用购物车中的值更新股票
【发布时间】:2012-08-16 14:26:45
【问题描述】:

我目前正在开发一个电子商务网站,但我需要一些关于库存管理的建议。

我希望购物车按以下方式工作:

  • CostumerA 将产品O 添加到购物车,数量为“1”。
  • CostumerB 尝试将相同的产品添加到他们的购物车,但没有成功。
  • CostumerA 退出或他们的会话过期。
  • CostumerB 尝试再次添加 productO,但由于尚未将产品添加到 CustomerA 的购物车,因此允许这样做...

我想出了 2 个解决方案,但从我的角度来看都不可靠:

  1. 将字段“champ”添加到最初具有 product.quantity 值但随购物车移动而变化的表产品。
  2. 添加表 Cart 并使用购物车移动对其进行更新。

您可以看到这两种解决方案都需要大量工作。有没有更好的方法来实现我的购物车。

【问题讨论】:

  • 您只希望一位客户一次可以购买一种产品?那是疯狂。如果有人知道这一点,他们就可以垄断你的商店,让其他人无法购物。
  • 我希望 user1559104 的意思是,如果当客户 A 将其添加到购物车时 productO 属于可用库存,那么客户 B 将无法添加它。因此,库存跟踪将在购物车级别进行,而不是在成功订购后进行更新。但我可能完全错了:D
  • @Matt 例如 ProductO 有 quantity=2 。我们 3 个用户:user1 先将 ProductO 添加到购物车并继续购物,user2 和 user3 添加 ProductO 然后下订单。现在 user1 不能订购 ProductO,即使他是第一个。
  • 如果 User1 从不注销会怎样?该项目将陷入困境。 (我只是在这里扮演魔鬼的拥护者)。
  • 我有会话控制,可以在一定时间后自动注销用户

标签: php mysql cart


【解决方案1】:

我认为更好的方法可能是仅在用户结帐并在产品列表页面上查看库存时才进行更新。

缺点是以下情况:

  • 用户 A 将商品添加到购物车
  • 用户 B 将相同的商品添加到他们的购物车中
  • 用户 A 结账,商品现在缺货
  • 用户 B 结账,但商品缺货

您需要在此过程的每个阶段检查库存,并告知您的用户发生了什么。

让用户将库存放入购物车来占用库存是个坏主意。如果用户 A 将一件商品的所有可用库存添加到他们的购物车中,那么在他们注销之前,没有其他人可以购买它,或者您在某种超时情况下将它们注销。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 2014-08-29
    相关资源
    最近更新 更多