php - 操作后 10 分钟更新数据库

标签 php mysql

目前,我有一个按钮,登录用户可以每 10 分钟按一次,方法是获取当前时间 + 10 分钟并将其插入数据库中。

public function setCooldown($address){
    $extra = strtotime("+ 10 minutes");
    $cooldown =  date("h:i:s", $extra);

    $query = $this->pdo->prepare("UPDATE users SET cooldown = '$cooldown'     
                                  WHERE address = '$address'");

    if($query->execute()){
        return true;
    }else return false;
}

然后使用以下 if 语句检查 10 分钟是否已过去:

    if(strtotime($cooldown) >= time()){
        return true;
    }else return false;

$cooldown从数据库中获取冷却时间。

问题:

  • 如果您在12:55(上午/下午)点击按钮,冷却时间将设置为1:05(上午/下午)/下午)。

自 12:55 >= 1:05 起,将不再有冷却时间。

  • 如果您在 12:45(上午/下午)点击按钮,冷却时间将设置为 12:55(上午/下午)下午)

如果您忘记点击下一个,假设冷却时间结束后 10 分钟,time() 将是 1:05,冷却时间将接近12小时!

问题:如何将冷却时间设置为 10 分钟,无论一天中的什么时间?

注释:

  • cooldown 在我的数据库中设置为 varchar

感谢任何帮助!

最佳答案

我刚刚检查了你的代码。您应该使用 24 小时格式的日期('H:i:s')。希望这能解决您的问题。 请检查以下链接:-

http://php.net/manual/en/function.time.php

http://www.w3schools.com/php/func_date_date.asp

关于php - 操作后 10 分钟更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35098859/

相关文章:

mysql - 如何正确循环 MySQL 上的存储函数?

php - 编辑/更新搜索查询中的结果之一

mysql - 将日期作为整数存储在 MySQL 数据库中

javascript - 如何更改html输入的边框颜色

php - 将电子邮件回复保存在数据库中

PHP 脚本超时

mysql - 使用 .my.cnf 客户端文件从一台主机的 mysql 客户端连接到多台主机

php - 以图像作为按钮的联系表单

php - SELECT * FROM table WHERE(单元格中的值作为数组)= $searchid

php - php 和 mysql 中 while 循环中的 if 语句中的日期格式显示为 1970 年 1 月 1 日