2016-02-11 86 views
0

这里是一个网站,其点击“Dodaję”后(指在波兰语“添加”)项目开始到购物篮30分钟:https://remix.pl/付款,购物篮,并添加项目到购物篮仅半小时

虽然该物品在篮子中,该物品不能被他人购买。我检查了他们的晒太阳:当我删除饼干时,物品被从篮子中取出(所以篮子使用php会话)并且物品再次可以购买。 我想知道他们是怎么做到的(他们的篮子是否使用数据库来存储添加项目的日期时间来计算30分钟或脚本可以以另一种方式?)。 也许这是一个Cron Job什么? 什么是通过PHP做到这一点的最佳方式,或者是不可能做到这样的事情与PHP?我不是说显示时间滴答/传递,因为它需要一些jQuery,js等,但只是脚本的本质。

我问了一下,因为我为客户做了一个在线商店,他卖的是像remix.pl这样的旧衣服,所以商品数量总是1.我必须对产品进行一些封锁,由一个用户为另一个用户添加相同的项目。 我不介意怎么做。

这里还有另外一个问题:只有在通过PayPal支付商品时才能删除商品数量吗? 化学例如: 项目数量:还是99 下订单到MySQL数据库后:还是99 付费后通过贝宝例如:98 它是一个很好的做法,是不是可以运行99 添加到购物篮后项目付款后的脚本? 非常感谢!

回答

1

在数据库中也创建一个篮子表。当sy将一件物品放入他的篮子中时,还要在篮子表格中插入一条记录,以及该条目的时间戳。当您查询产品表时,您会认为这些产品不可用,这些产品在购物篮表中,并且时间戳值小于30分钟。您可以忽略超过30分钟的购物篮中的任何预订。您可以从排定的脚本或任何定期运行的页面代码清理篮子表格。

关于您的第二个问题:当然您只能在成功完成支付后从库存中扣除售出的产品数量。贝宝API提供了回调,看到instant payment notifications

+0

我可能找到了最好的办法做到这一点:当用户添加1项目篮,然后减少30分钟项目的数量1。如果物品在30分钟内支付,那么永远减少这个数量,如果物品在30分钟内没有支付,则将数量增加1.这样,我可以销售数量为1的旧产品和数量为999的新产品。 如果物品数量为1,现在为0,则用户无法购买物品,如果物品数量为999,现在为998,则用户可以购买998物品。每当用户在30分钟内付款时,商品的数量会增加 –

+0

我有问题,如果有人购买999件数量为999的商品会怎么样?例如一个bot程序?然后,我不会在我的网站上有30分钟的产品。该计划每30分钟购买一件产品,因此我的商店总是有0个数量。看起来很丑陋。 –

+0

也许我不应该有数量。只是产品。 –