我正在使用 codeigniter 和分页类。这是一个非常基本的问题,但我需要确保我没有遗漏任何东西。为了获得对从 MySQL 数据库获取结果进行分页所需的配置项,基本上需要运行查询两次,对吗?
换句话说,您必须运行查询来确定记录总数,然后才能分页。所以我这样做是这样的:
执行此查询以获取结果数
$this->db->where('something', $something);
$query = $this->db->get('the_table_name');
$num_rows = $query->num_rows();
然后我必须再次执行此操作才能获得具有限制和偏移量的结果。就像是:
$this->db->where('something', $something);
$this->db->limit($limit, $offset);
$query = $this->db->get('the_table_name');
if($query->num_rows()){
foreach($query->result_array() as $row){
## get the results here
}
}
我只是想知道我是否真的这样做是正确的,因为查询总是需要运行两次?我使用的查询比上面显示的要复杂得多。
不幸的是,为了分页,您必须知道要分成页面的元素数量。
如果计算成本太高,您始终可以缓存元素总数的结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)