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;
}

而後須要調用分頁的地方進行,以下: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);
    }
相關文章
相關標籤/搜索