/*************** * @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; }
而后须要调用分页的地方进行,以下:php
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); }