PHP CodeIgniter框架是目前較為流行的Web應用程序開發框架之一。在實際的開發過程中,頁面的數據展示是一個非常重要的問題,而分頁功能則是實現數據展示的一種必不可少的技術。本文將詳細介紹如何在PHP CodeIgniter框架中實現分頁功能。
一、CodeIgniter 分頁類 library
CodeIgniter提供了一個分頁類庫,可以很方便地實現分頁功能。我們看一下實現代碼:
```
$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();
```
在以上代碼中,我們首先加載了CI提供的分頁類庫,然后根據我們的需求設置了分頁類庫所需的參數,最后調用了CI分頁類庫中的create_links()函數來生成分頁鏈接。
這里我們說明一下各個參數的含義:
base_url:指定分頁鏈接的地址前綴;
total_rows:指定數據的總記錄數;
per_page:指定每頁顯示的數據量。
二、制作分頁效果的網頁
以上代碼只是調用了CI分頁類庫中的函數,無法直接觀察到分頁效果。我們需要寫一個網頁,來觀察到分頁效果。下面是網頁的代碼:
```PHP CodeIgniter分頁測試
pagination->create_links(); ?>```
該網頁中有一個table表格,用于展示所需數據及分頁鏈接。通過一個for循環遍歷所有數據,展示在table表格中。最后顯示分頁鏈接。
三、實現控制器邏輯
到目前為止,我們已經完成了實現分頁功能的網頁的布局實現。接下來我們需要在控制器中實現相應的邏輯,來獲取需要展示的數據,以及計算分頁所需的參數。我們可以將控制器的實現代碼分為兩個步驟:
1.獲取需要展示的數據;
2.計算分頁所需的參數。
下面是我們具體的操作步驟:
1.獲取需要展示的數據
在控制器中,我們需要獲取需要展示的數據,這部分需要集合開發者自身實際的業務場景來進行實現。這里就不過多的贅述了。
2.計算分頁所需的參數
計算分頁所需的參數之前,我們先來看一下我們所需的參數:
total_rows:數據總行數;
per_page:每頁顯示行數;
num_links:分頁鏈接數量;
use_page_numbers:使用頁碼為鏈接而不是使用數字鏈接;
display_pages:在 “最后一頁” 之前插入多少頁鏈接;
page_query_string:完整的查詢字符串是否作為 URI 的一部分;
reuse_query_string:是否將現有的 GET 參數保留在分頁鏈接中。
下面是我們對計算分頁所需參數的過程的詳細步驟:
// 加載CI分頁類庫
$this->load->library('pagination');
$config = array();
// 設置分頁參數
$config['base_url'] = site_url('/test/index/');//此處為目標URL地址
$config['total_rows'] = 200;//此處數據總行數,可改動
$config['per_page'] = 20;//每頁顯示20條數據
$config['num_links'] = 5;
$config['use_page_numbers'] = TRUE;
$config['page_query_string'] = TRUE;
$config['reuse_query_string'] = TRUE;
$config['display_pages'] = TRUE;
$config['query_string_segment'] = 'page';
$config['full_tag_open'] = '
ID | 姓名 | 年齡 | ' . $item['id'] . ' | ' . '' . $item['name'] . ' | ' . '' . $item['age'] . ' | ' . ''; } ?>
---|
';
$config['full_tag_close'] = '
';
$this->pagination->initialize($config);
// 使用模型類來獲取數據
$data = $this->test_model->get_list($config['per_page'], $this->input->get('page', true), $where);
以上代碼 可以通過調用CI提供的library('pagination')函數 來加載分頁類庫。接著,我們設置各項參數。total_rows參數可以使用模型類中獲取數據總行數的方法進行計算。
四、總結
通過以上的步驟,我們便完成了PHP CodeIgniter框架中實現分頁功能的步驟。當然,具體的實現方法需依據個人所在場景進行相應的更改。如果你在實現過程中遇到問題,可以參考CI官網中關于分頁類庫的具體使用方法。上一篇php ci教程