自动更新一行在PHP不使用cron作业等,只是纯PHP和mysql


automatically updates a row in php without using cron job etc, just pure php and mysql

我有一个表格这是它的内部内容:

   id  item_id  user_name  quantity  date_expired  is_reserved
   1      2     jimmy123      5       2016-9-15         1
   2      1     kilmer        2       2016-9-17         1

我想自动更新的is_reserved在jimmy123的事务记录从1到0时,date_expired达到2016年9月15日,我将如何能够在PHP和MYSQL中自动做到这一点?

实际上并不需要cron作业,因为它可以在访问者或任何访问者访问时完成。在99%的情况下,这应该是合适的,即使它看起来有点低效——它就是这样做的。除非这是一个潜在的原因?您没有给出关于如何确定感兴趣的用户名和时间戳的任何信息或代码,因此,在我的示例中,我将硬编码它们,假设您稍后将替换这些值。

可以得到该日期的epoch时间1473897600。这就是您应该如何存储日期,然后在输出时将其转换为可读的内容。

然后有一个脚本,看起来像这样

<?php
$user = "jimmy123";
$query = "SELECT date_expired FROM users WHERE user_username = '$user'"; //assumes date_expired is now a timestamp format
$expireDate = ... //run query and get single result
if(time()>$expireDate){
    $query = "UPDATE users SET is_reserved = 0 WHERE user_name = '$user'";
   //run query
}
?>