CodeIgniter实现分页传递多个参数

  1. CodeIgniter实现分页传递多个参数
  2. CodeIgniter默认分页只带一个参数,即当前页码,通过:$this->uri->segment(3)来获取。当需要
  3. 传递多个参数的时候,就会出错,解决方法如下即下列项目实例:
  4. $id = intval($this->url['id']);
  5. $count = $this->db->where(array('type'=>1,'pid'=>0,'aid'=>$id))->get('test')->num_rows();
  6. $this->load->library('pagination');
  7. $config['use_page_numbers']= TRUE;
  8. $config['base_url']= base_url("article/article_view/id/{$id}");// 传递多个参数
  9. $config['total_rows']= $count;
  10. $config['per_page']=15;
  11. // 在分页外围添加一组标签
  12. $config['full_tag_open']="
    ";
  13. $config['full_tag_close']='
';
  • // 自定义起始连接名称
  • $config['first_link']='首页';
  • $config['prev_link']='上一页';
  • $config['next_link']='下一页';
  • $config['last_link']='末页';
  • $config['uri_segment']=5;
  • $page=$this->uri->segment(5);
  • if($page >0) $page = $page-1;
  • $this->pagination->initialize($config);
  • $n_result = $this->db
  • ->select("id#nikename#content#add_time#concat(path,'-',id) as bpath")
  • ->where(array('type'=>1,'pid'=>0,'aid'=>$id))
  • ->order_by('bpath')
  • ->get('comments',$config['per_page'],$page);
  • 说明:
  • $config['uri_segment']=5;
  • 是传递多个参数最重要的地方,即跳过“多个参数”(上面实例只添加了“id”一个参数),获取当前“page”页码。CI在获取到当前页码时,底部分页所指示的当前页码会是默认选中样式,这个需要通过
  • $page=$this->uri->segment(5);
  • if($page >0) $page = $page-1;
  • 的控制来实现。