我正在使用Codeigniter编写一个Web应用程序,允许用户输入查询参数,然后吐出结果。
对于分页,我传递一个限制和偏移(非常标准的东西)并且可以基于此返回结果,但是,我无法传回TOTAL数字或者在不使用LIMIT的情况下返回的记录和OFFSET参数。
我的问题:是否可以使用Codeigniters AR语法传递上一个查询返回的总行数?
我尝试了下面的一些变体,但是(最多)能够在items表中返回ALL记录的计数(使用count_all_results)。我觉得我在这里错过了一些东西。
if (isset($brand)) {$this->db->where('brand', $brand);}
if (isset($color)) {$this->db->where('color', $color);}
$items = $this->db->get('items', $page, $offset)->result_array();
$rowcount = $this->db->count_all_results('items);
return array('items' => $items, 'row_count' => $rowcount);
答案 0 :(得分:1)
是的,
if (isset($brand)) {$this->db->where('brand', $brand);}
if (isset($color)) {$this->db->where('color', $color);}
$query = $this->db->get('items', $page, $offset);
$items = $query->result_array();
$rowcount = $query->num_rows();
return array('items' => $items, 'row_count' => $rowcount);