2014年5月1日 星期四

CodeIgniter 分頁

CI 裡面就有一個 library 叫 Pagination ,在 system/librarie/Pagination.php

現在來講一下用法

先說明 all_query 的函數定義,all_query($limit, $offset, $direction)

$this->load->helper('url');

$this->load->library('pagination');

$this->load->model('users_sql'); //呼叫model用來取資料

$query = $this->users_sql->all_query(null, null, 'ASC'); //抓取全部資料

//開始 pagination 的設定

$config['base_url'] = site_url()."/admin/users/"; //指向 admin(class) 的 users(function)

$config['total_rows'] = $query->num_rows(); //回傳資料總比數,切割有幾頁

$config['per_page'] = 10; //一頁只有 10 筆

$config['num_links'] = 2; //前後的頁碼 ex:  當前頁碼如果是 5,會顯示為 34567 的頁碼數

$config['uri_segment'] = 3; //這是個很重要東西,會抓取 URL 並切割,例如 http://localhost/CI/admin/users/10,會切割成 admin、users、10
 
 
$this->pagination->initialize($config);
 
$data = array(
                "records" => $this->users_sql->all_query($config['per_page'], $this->uri->segment(3), 'ASC')->result_array()
        );


就樣就可以使用分頁了,搜尋分頁,會比較複雜...之後再補充

$this->uri->segment(3) 很重要,是擷取網頁的區塊三,然後傳送到model抓取資料!!

phpmyadmin 結構錯誤


我也有看一下,似乎他錯誤是因為 AJAX 傳送的 JSON 有錯誤