从5分钟前获得时间

时间:2015-10-20 05:22:31

标签: php mysql

我正在处理我正在使用的CMS的用户功能,并且每个页面加载时我都会更新用户

if(User("online") == true) {
    LastOnlineUpdate($_SESSION['key']['userid']);
}

(是用户在线作品,这是我检查在线用户的功能) 现在,我的时间正确更新,连接到LastOnlineUpdate函数,然后运行我的类函数

    public function SessionUpdate($arg) {
        $query = <<<SQL
        UPDATE {$this->tprefix}online
        SET remote = :remote, timestamp = :timestamp
        WHERE userid = :arg
        SQL;
        $resource = $this->db->db->prepare( $query );
            $resource->execute( array( 
            ':remote'   => $_SERVER['REMOTE_ADDR'],
            ':timestamp'    => time(),
            ':arg'  => $arg,
            ));
    } 

现在每当我浏览我的页面时,它都会通过在我的预加载文件中包含第一个代码来更新用户,现在我已经遇到了我的路障但是我从未做过的事情,那就是把时间插入我的表,如果时间少于五分钟,请选择它并将其用于我的在线用户部分

public function OnlineUsers() {
       $query = <<<SQL
       SELECT userid
       FROM {$this->tprefix}online
       WHERE timestamp > time(5Minutes)
SQL;
       $resource = $this->db->db->prepare( $query );
       $resource->execute();
       $this->onlinecount = $resource->rowCount();
       if($resource->rowCount() == 0 ) {
            $this->onlineusers = "No User's Online";
       }
       else 
       {
            foreach($resource as $row) {
                self::ConvertIDToName("displayname"); //Can be display, user, first or whatever else for the argument, The onlineusers variable is then set based off that query
            }
       }
}

1 个答案:

答案 0 :(得分:1)

$minutes = 5;
$date = gmdate('Y-m-d H:i:s'); // http://php.net/manual/en/function.gmdate.php
$date_plus_minutes = gmdate('Y-m-d H:i:s', ( time() + $minutes * 60 ) );
$date_minus_minutes = gmdate('Y-m-d H:i:s', ( time() - $minutes * 60 ) );