codeigniter分页类传多个参数

2012-12-14 14:06:19来源:作者:

http://example.com/index.php/控制器/方法名/页面的偏移值

http://example.com/index.php/控制器/方法名/页面的偏移值

页面的偏移值必须是方法名后第一个参数,否者分页类不能判断当前是哪一页,而用ci的分页类进行页面跳转时他是把偏移值加在base_url的最后面。这时如果我在点击页面跳转按钮进行页面跳转时还想带参数呢,像下面这样的话分页类就不能正常工作了。

http://example.com/index.php/控制器/方法名/其它参数1/其它参数2/页面的偏移值

解决方法,在config.php配置文件中把 $config['enable_query_strings'] 设置为 TRUE,传给分页类的config配置数组中也要加一个设置 $config['page_query_string'] = TRUE; 然后我们就能以这查询字符串的方式来跳转页面了。

http://example.com/index.php?c=test&m=page&d1=222&d2=3333&per_page=20

其中的d1和d2是我要传给控制器的别的参数。我们获取这两个参数可以用输入类里的 $this->input->get('d1');

详细代码如下:

function control()
{
    $d1=$this->input->get('d1');
    if(empty($d1))$d1=0;
    $d2=$this->input->get('d2');
    if(empty($d2))$d2=0;
   $page=$this->input->get('per_page');
    if(empty($page))$page=0;

   $data = $this->Model->getData($d1,$d2,$page);
   $config['base_url'] = base_url().'/index.php?c=adminCenter&m=auditComment&d1='.$d1.'&d2='.$d2;
   $config['first_link'] = "首页";
   $config['last_link'] = "尾页";
   $config['total_rows'] = $data['dataLenght'];
   $config['per_page'] = '20';
   $config['page_query_string'] = TRUE;
   $this->pagination->initialize($config);
   $this->load->view('index.html',$data);
}

关键词:codeigniter