最近在學慣用php的CI架構寫一個自己的CMS,遇到了些問題。
其中一個就是CI分頁的時候,我的URL帶有其他參數,才能查出我想要的資料。於是我翻遍了Google度娘,終於找到瞭解決辦法,和我想的差不多,就貼出了和大家分享下。
首先,設定你的base_url,$block,create_id,has_pass,pass_id為我的查詢條件,表單提交GET方式,根據條件的有無,修改base_url和查詢條件
$config['base_url'] = base_url()."index.php/admin/article/manage?"; if(!empty($_GET['block'])){$this->db->where('class_id', $_GET['block']);$config['base_url'].="&block=".$_GET['block']; } if(!empty($_GET['create_id'])){$this->db->where('create_id', $_GET['create_id']);$config['base_url'].="&create_id=".$_GET['create_id']; } if(!empty($_GET['has_pass'])){$this->db->where('has_pass', $_GET['has_pass']);$config['base_url'].="&has_pass=".$_GET['has_pass']; } if(!empty($_GET['pass_id'])){ $this->db->where('pass_id', $_GET['pass_id']); $config['base_url'].="&pass_id=".$_GET['pass_id']; }
然後開啟page_query_string
$config['page_query_string'] = TRUE;
最後出現的URL是這樣的
http://localhost/lycms/index.php/admin/article/manage?&block=8&create_id=0&has_pass=1&pagenow=2
&per_page=2是開啟page_query_string後,自動在url後追加的。
OK,就這樣搞定了。
還有的同學想在CI輸出分頁連結的時候加上"共X條記錄 N/X頁"等字樣,其實很簡單,只要在CI分頁類的檔案system\libraries\Pagination.php 裡添加如下代碼即可
// And here we go...$output = '共'.$this->total_rows.'條記錄 '.$this->cur_page .'/'.$num_pages.'頁 ';
好吧,就這樣