用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2706|回复: 4
收起左侧

[已解决] 分页 问题

[复制链接]
发表于 2012-6-14 11:46:41 | 显示全部楼层 |阅读模式
2CI币
        public function chakan()
        {
               

                $this->load->library('pagination');
                $this->load->library('table');
               
                $rows=$this->db->count_all('xueyuanxinxi');----------------------------------------------------------------------------↓
                $config['base_url'] = site_url('xueyuanxinxi/chakan');
                $config['per_page'] = 5;
                $config['total_rows'] =$rows;-------------------------------------------分页得进行2次查询  ? 有没有更好的办法?
                $this->pagination->initialize($config);
               
                $data['results']=$this->m_xueyuanxinxi->chakanxueyuan($config['per_page'],$this->uri->segment(3));----↑
               
                $this->load->view('Cfrm/xueyuanxinxi/chakanxueyuan.html',$data);


最佳答案

查看完整内容

分页就是要做两次查询 没有问题 你的做法不可行,因为分页要计算总数,而不是当前页的数量。
发表于 2012-6-14 11:46:42 | 显示全部楼层
分页就是要做两次查询 没有问题
你的做法不可行,因为分页要计算总数,而不是当前页的数量。
回复

使用道具 举报

发表于 2012-6-14 12:18:10 | 显示全部楼层
你可以对$config['total_rows'] 进行判断 然后决定是不是要进行数据库查询 不过如果记录数改变了 还是查询数据库比较可靠
回复

使用道具 举报

 楼主| 发表于 2012-6-14 12:54:31 | 显示全部楼层
ilci 发表于 2012-6-14 12:18
你可以对$config['total_rows'] 进行判断 然后决定是不是要进行数据库查询 不过如果记录数改变了 还是查询 ...

这么说吧

分页需要
   1 进行一次查询     取得总行数     $config['base_url']
   2 进行一次查询     取得数据         $data['results']


可不可以这样实现呢

   进行一次查询   $query='select ...from... where...' 的到结果集
   $query->num_row()   得到行数
   !!!        再在结果集$query上进行limit  分页而不是对数据库直接查询分页??  这样可以减少一次查询啊
回复

使用道具 举报

 楼主| 发表于 2012-6-14 14:45:41 | 显示全部楼层
知道了   谢过
回复

使用道具 举报

本版积分规则