/**************** @function自定义分页函数* @Param:* $curpage :当前页* $baseurl :需要分页的地址* $totlerows :总记录数* $perpage :每页记录数,默认12条* $flag :默认rel属性会被自动的被添加到合适的链接上,但是在这里选择禁用:* @Return: array();分页的基本配置信息**提示:如果原来自己写的分页没有对* $offset = ($per_page-1)*$config['per_page'];进行验证,*则调用本方法时需要调整为如下:* $offset = ($curpage-1)*$config['per_page'] < 0 ? 0 :($curpage-1)*$config['per_page'];*否则调用本方法会报错***************/functionmanPages($curpage,$baseurl,$totlerows,$perpage=12,$flag= FALSE){
$config['base_url'] =$baseurl;
$config['total_rows'] =$totlerows;
$config['per_page'] =$perpage;
$config['pagecount'] =ceil($config['total_rows']/$config['per_page']);
$curpage=$curpage&&$curpage<=$config['pagecount'] ?$curpage:1;
$config['attributes']['rel'] =$flag;
$config['first_link'] =lang('first_link');
$config['last_link'] =lang('last_link');
$config['cur_page'] =$curpage;
return$config;
}
然后需要调用分页的地方进行,如下:
public function test(){
$this->load->library('pagination');
$this->load->model("test_model", 'test');
$curpage = $this->uri->segment(4);
$baseurl = site_url('test/test');
$data = array();
//分页
$where = array();
$where['is_del'] = 0;
$totlerows = $this->test->Count($where);
$config = Pages($curpage,$baseurl,$totlerows);
$this->pagination->initialize($config);
//
$offset = ($curpage-1)*$config['per_page'] < 0 ? 0 :($curpage-1)*$config['per_page'];
$limit = $config['per_page'];
$mydata = $this->test->getSth($where, $limit, $offset);
if($config['total_rows'] > $config['per_page']){
$data['pages'] .= "".sprintf(lang('page_all'), $config['total_rows'])."" ;
$data['pages'] .=$this->pagination->create_links();
$data['pages'] .=". $config['base_url'].'/'.$config['pagecount'].">".sprintf(lang('last_link'), $config['last_link'])."";
}
$data['config'] = $this->config->config;
$data['mydata'] = $mydata;
$this->load->view('test/test.html', $data);
}