分页的Codeigniter限制

时间:2013-10-03 14:31:37

标签: php sql codeigniter pagination

我在codeigniter中创建了这个函数:

public function get_users_pagination($q, $perpage, $pagenr, $type = 1)
{
    $query = $this->db->get_where('korisnici_tbl', array("type" => $type), $perpage,$pagenr);
    $this->db->like('email', $q);
    $this->db->or_like('name', $q);
    return $query->result();
}

但是当结果小于$ perpage变量时,它仍会以$ perpage的数量返回行。

因此,如果$ pagenr是例如10并且有2行类型1,那么它只返回8个其他类型为2的行。

3 个答案:

答案 0 :(得分:1)

你可以这样试试:

$query = $this->db->get_where('korisnici_tbl', array("type" => $type));
$this->db->like('email', $q);
$this->db->or_like('name', $q);
$this->db->limit($pagination_start, $pagination_length);

答案 1 :(得分:1)

您可以像这样对OR进行分组

$like = '(email LIKE \'%'.$q.'%\'';
$like .= ' OR name LIKE \'%'.$q.'%\')';
$this->db->where($like);

答案 2 :(得分:0)

只需穿上你的模特功能: $ limit = 3; //你想在页面中显示的最大行: