CI框架分页总结

/***************
 * @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);
    }

 

转载于:https://my.oschina.net/u/3268486/blog/919540

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值