花花世界 发表于 2012-6-14 11:46:41

分页 问题

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


Hex 发表于 2012-6-14 11:46:42

分页就是要做两次查询 没有问题
你的做法不可行,因为分页要计算总数,而不是当前页的数量。

ilci 发表于 2012-6-14 12:18:10

你可以对$config['total_rows'] 进行判断 然后决定是不是要进行数据库查询 不过如果记录数改变了 还是查询数据库比较可靠

花花世界 发表于 2012-6-14 12:54:31

ilci 发表于 2012-6-14 12:18 static/image/common/back.gif
你可以对$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

知道了   谢过
页: [1]
查看完整版本: 分页 问题