当用户点击“添加到购物车”按钮时,我想减少一个值(库存产品的数量),并在一段时间之后将值恢复为初始值(比如5分钟)? P.S:我正在使用PHP jquery和ajax。
答案 0 :(得分:0)
您可以使用PDO
(与MySQL进行php通信)。其中一个例子是使用准备好的声明来降低数据库中的值,以提高性能(当然还有安全性):
$sql = "UPDATE myTable SET number_of_products = number_of_products - :quantity WHERE product_id = :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':quantity', $quantity);
$stmt->bindParam(':id', $id);
$stmt->execute();
然后,由于您已经准备好了语句,因此可以按如下方式恢复此值(无需重新声明整个sql语句)
$stmt->bindParam(':quantity', -$quantity);
$stmt->bindParam(':id', $id);
$stmt->execute();
如果您希望第二个脚本在5分钟后发生,那么您可以实施一个延迟时间为5分钟的队列系统。还有一些功能可以用来休眠5分钟,但是让这个功能在与用户相同的页面上运行是非常不切实际的(除非你计划在一个单独的脚本中使用它),因为用户真的会有在同一页上等待5分钟。