Codeigniter Pagination 分頁實作
CI官方說明 :https://codeigniter.org.tw/userguide3/libraries/pagination.html?highlight=page#id5
$this->load->library('pagination');
$config['base_url'] = 'http://example.com/index.php/test/page/'; //要產生頁籤的網址
$config['total_rows'] = 200; //資料總共幾筆
$config['per_page'] = 20; //一次想要顯示幾筆
$this->pagination->initialize($config);
echo $this->pagination->create_links(); //這一行就是分頁的html
分頁bar這樣就有了
但是還要跟資料連動
因此我會加一這一行
$config['page_query_string'] = TRUE;
加了這行後你可以在觀察網址上會多出per_page參數
這個參數的意思就是你的資料是從第幾筆開始的
所以你只要把這個參數和一次要幾筆的參數給你取資料的function就可以跟分頁頁籤有連動了
---------------------------------------------------------
ex:
$this->load->library('pagination'); // 載入
//從第幾筆開始
$per_page = $this->input->get_post('per_page');
//一頁幾筆
$qty = 2;
if ($per_page == "") {
//因為第一頁沒有這個參數,所以要自己補上
$per_page = 0;
}
// from menu
$res = $this->mod_product->get_list(get_temples_id(),$qty,$per_page);
$mycount = count($this->mod_product->get_list(get_temples_id()));
$config['base_url'] = site_url().'pages/store_product_list';
$config['total_rows'] = $mycount;
$config['per_page'] = $qty;
$config['num_links'] = 2; //頁籤中間一次有幾個按鈕
$config['page_query_string'] = TRUE;
$this->pagination->initialize($config);
$pagenation = $this->pagination->create_links();
$data = array('list' => $res,'pagenation'=>$pagenation );
$this->load->view('pages/store_product_list',$data);
留言
張貼留言