如何从codeigniter中的表中获取最后10条记录

时间:2013-08-19 13:38:58

标签: php codeigniter

我有控制器,可以从这样的表格中获取我的帖子: -

function getPosts($user_id, $from, $to) {
    $this->db->order_by("ev_date", "DESC");
    $query = $this->db->get_where($this->table_name, array('ev_user_id'=>$user_id));

    return $query->result();
}

以上功能我可以从表格中获取所有帖子,但我只需要显示来自表格的最后10条记录。

第二个问题表“post”有user_id whos添加这个帖子,并存储user_id,当得到我需要的所有帖子 从“用户”表中获取用户名。

表用户通过“User_id”匹配帖子表

3 个答案:

答案 0 :(得分:1)

听起来你需要一个连接才能获得用户名,一个带有codeigniter活动记录的连接就像这样:

$this->db->join('user', 'user.user_id = post.user_id');

您可以使用限制来限制查询

$this->db->limit(10);

源: CodeIgniter user manual

答案 1 :(得分:0)

function getPosts($user_id, $from, $to) {
    $this->db->order_by("ev_date", "DESC");
    $query = $this->db->get_where($this->table_name, array('ev_user_id'=>$user_id), 10, 0);

    return $query->result();
}

来自CI文档。

$query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);

答案 2 :(得分:0)

public function tenData()
{
    $query = $this->db
            ->order_by('id' , 'desc')
            ->limit(10)
            ->get('yourTable');

    return $query->result_array();
}

你可以试试这个。 order_by你的id并添加限制。