【问题标题】:PHP get data thats between 5 and 10 mins agoPHP 获取 5 到 10 分钟前的数据
【发布时间】:2016-09-15 12:05:53
【问题描述】:

我有一个 simple 脚本显示用户现在登录(根据他们是否在过去 5 分钟内加载了一个页面来确定)代码:

$query = mysql_query("SELECT * FROM user_actions WHERE timestamp > date_sub(now(), interval 5 minute) GROUP BY user_id");

我现在想为 5 到 10 分钟前登录的用户执行此操作,这可能吗?

【问题讨论】:

  • 当然。 timestamp BETWEEN date_sub(now(),interval 10 minute) AND date_sub(now(),interval 5 minute)

标签: php mysql date datetime time


【解决方案1】:

是的。使用UNIX_TIMESTAMP() 获取查询执行的当前时间。所以

$query = mysql_query("SELECT * FROM user_actions WHERE timestamp > (UNIX_TIMESTAMP-300000) OR timestamp > (UNIX_TIMESTAMP-600000) GROUP BY user_id");

并使用将分钟转换为毫秒。请根据您的需要将 OR 更改为 AND。

【讨论】:

    【解决方案2】:

    为此尝试BETWEEN AND。

    SELECT * 
    FROM user_actions 
    WHERE timestamp BETWEEN date_sub(now(), interval 5 minute) AND date_sub(now(), interval 10 minute) 
    GROUP BY user_id
    

    【讨论】:

    • 即使我在 8 分钟前的数据库中有一行,也显示为 0?
    • 你能发布一些示例数据吗?
    【解决方案3】:
    require_once('DBconnection.php');
    $con->query("SELECT required_rows FROM some_table WHERE timestamp BETWEEN date_sub(now(), interval 5 minute) AND date_sub(now(), interval 10 minute) GROUP BY id");
    

    也兼容预处理语句

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 2020-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 2021-02-12
      相关资源
      最近更新 更多