Codeigniter分页 - 显示没有最后记录

时间:2015-08-18 08:53:01

标签: php sql database codeigniter

我一直在寻找很长一段时间,但我是CI的新手,所以很难找到答案。

所以这就是问题所在:我希望在没有最后一个记录的情况下使用CI分页获取我的所有记录...我知道我需要对我的模型做一些事情,但我不知道是什么:/这就是它的样子:

public function get_results($search_term = 'default', $offset = 0, $limit = 0) {

    $this->db->select('SQL_CALC_FOUND_ROWS id,blog_time,blog_title,blog_text,image', false);
    $this->db->from('blog');
    $this->db->like('blog_title', $search_term);
    $this->db->or_like('blog_text', $search_term);
    $this->db->order_by('blog_time', 'DESC');
    $this->db->limit($limit, $offset);

    $data = $this->db->get()->result();
    $count = $this->db->query('SELECT FOUND_ROWS() count;')->row()->count;
    return array('data' => $data, 'count' => $count);
}

2 个答案:

答案 0 :(得分:0)

你可以使用php的未设置功能

为您的结果

unset($result[0]);

因为你正在使用降序的最后一条记录将首先出现

并计算在内

$count = $count-1;

答案 1 :(得分:0)

您需要将Model代码修改为:

public function get_results($search_term = 'default', $offset = 0, $limit = 0) {

    $this->db->select('SQL_CALC_FOUND_ROWS id,blog_time,blog_title,blog_text,image', false);
    $this->db->from('blog');
    $this->db->like('blog_title', $search_term);
    $this->db->or_like('blog_text', $search_term);
    $this->db->order_by('blog_time', 'DESC');
    $this->db->limit($limit, $offset);

    $data = $this->db->get()->result();
    $count = $this->db->query('SELECT FOUND_ROWS() count;')->row()->count;
    return array('data' => $data, 'count' => $count -1);
}

我们只需将-1添加到$ count。