如何通过last_visit订购并显示用户的最新访问者


How do I ORDER BY last_visit and display the most recent visitor for a user?

以下公共函数显示用户配置文件的访问者。我想做的是按最近的访问者排序结果。我认为最好的方法是在左JOIN之前添加ORDER BY last_visit。但这打破了脚本,我得到了"没有结果"的消息。last_visits的时间戳数据类型为btw.

public function getVisitors($count = 10, $page = 0){
    $result = $this->_db->query('
        SELECT
            `visited_users`.*,
            `users`.*,
            NOW() as now_t
        FROM
            `visited_users`
        ORDER BY last_visit  
        LEFT JOIN `users` ON `users`.`id` = `visited_users`.`user_id`
        WHERE
            `visited_users`.`visited_id` = ?
        LIMIT '.$count*$page.','.$count, array($this->_data->id));
    return $result->results();
}

正确的SQL语法要求ORDER BY位于WHERE子句之后。试试这个。

public function getVisitors($count = 10, $page = 0){
    $result = $this->_db->query('
        SELECT
            `visited_users`.*,
            `users`.*,
            NOW() as now_t
        FROM
            `visited_users`
        LEFT JOIN `users` ON `users`.`id` = `visited_users`.`user_id`
        WHERE
            `visited_users`.`visited_id` = ?
        ORDER BY last_visit  
        LIMIT '.$count*$page.','.$count, array($this->_data->id));
    return $result->results();
}