/*************** * @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']; * 否则调用本方法会报错 ***************/ function manPages($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);
}