CodeIgniter框架多條件搜索查詢分頁功能解決方案

最近在用ci框架寫功能的時候,需要用到分頁功能,本來尋常的數據結果分頁是比較簡單的,但是這次寫的功能是多條件搜索查詢分頁,就有點難度了,看官方手冊下面評論好多人問,

正常的分頁功能例子是這樣的:

1 $this->load->library('pagination');
2 
3 $config['base_url'] = 'http://example.com/index.php/test/page/';
4 $config['total_rows'] = 200;
5 $config['per_page'] = 20;
6 
7 $this->pagination->initialize($config);
8 
9 echo $this->pagination->create_links();

多條件搜索查詢分頁例子:

1 class Monitors extends CI_Controller {
 2 public function warning(){
 3     $config= array();
 4     $config['per_page'] = 15; //每頁顯示的數據數
 5     $current_page = intval($this->input->get("per_page")); //獲取當前分頁頁碼數
 6     
 7  $status=$this->input->get("filter-status",TRUE);
 8  $level=$this->input->get('filter-level',TRUE);
 9  $timestamp=$this->input->get('filter-timestamp',TRUE);
10  $all = $this->monitors_m->getAllData($current_page,$config['per_page'],$status,$timestamp,$level);
11    //這裏返回的有總條數和具體的數據,根據自己的情況略加修改即可
12  $data['allevent'] = $all['content'];
13  $config['total_rows']   = $all['count'];//總條數
14     $config['num_links'] = 3;//頁碼連接數
15  $config['use_page_numbers'] = TRUE; 
16  $config['page_query_strings'] = TRUE;//關鍵配置
17  $config['base_url'] = base_url().'index.php/monitors/warning?'&filter-status='.$status.'&filter-level='.$level.'&filter-timestamp='.$timestamp;//關鍵配置
18  $this->load->library('pagination');//加載ci pagination類
19  $this->pagination->initialize($config);
20  $data['page'] = $this->pagination->create_links();//關鍵代碼
21  $this->load->view("monitors_v",$data);
22 }

 

 

發佈了82 篇原創文章 · 獲贊 81 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章