这是一个网站,在单击“Dodaję”(用波兰语表示“添加”)项目后,该产品进入购物篮30分钟:https://remix.pl/
当物品在篮子里时,其他人不能购买。我检查了它们的取暖:当我删除cookie时,项目从购物篮中删除(因此购物篮使用php会话),并且再次可以购买项目。
我想知道他们是如何做到的(他们的购物篮使用数据库存储添加项目的日期时间来计数30分钟,还是可以用另一种方式来完成脚本?)。
也许是Cron Job或其他什么?
通过php做到这一点的最佳方法是什么,或者用php无法做到这一点?我的意思不是显示时间滴答/传递,因为它需要一些jQuery,js等,而只是脚本的本质。
我问这个问题是因为我为客户建立了一个在线商店,该客户出售像remix.pl这样的旧衣服,因此商品数量始终为1。为另一个用户添加相同的项目。
我不介意该怎么做。
这是另一个问题:例如,当通过Paypal付款时,是否只有这样才能删除项目数量?
化学例如:
产品数量:99
加入购物篮后:仍为99
向MySQL数据库下订单后:仍为99
在通过贝宝(Paypal)付款后:98
这是一个好习惯吗?付款后是否可以运行脚本?
非常感谢!
最佳答案
在数据库中也创建一个篮子表。当sy将项目放入他的篮子时,也将一条记录以及条目的时间戳记插入篮子表中。当查询产品表时,您会认为那些产品不可用,这些产品在购物篮表中,并且时间戳值不到30分钟。您可以忽略购物篮中所有超过30分钟的预订。您可以从计划脚本或任何常规运行页面的代码中清理篮子表。
关于第二个问题:当然,只有在付款成功完成后,才从库存中扣除已售产品的数量。 Paypal API为此提供了回调,请参见instant payment notifications