获取先前Codeigniter AR查询的行数

时间:2012-08-26 23:07:48

标签: php mysql codeigniter pagination

我正在使用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);

1 个答案:

答案 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);