国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php CI框架學(xué)習(xí)筆記-分頁實(shí)現(xiàn)程序

2024-05-04 23:06:49
字體:
供稿:網(wǎng)友

本文章是一個自己的對CI框架的學(xué)習(xí)筆記,用一個完整的搜索,查找并且實(shí)現(xiàn)分頁的程序給大家參考參考.

舉個按關(guān)鍵詞搜索結(jié)果分頁的例子.

視圖HTML,代碼如下:

  1. <div id="body"> 
  2. <form action="/index.php/search/index/" method="get"> 
  3. <p>請輸入書名、作者、出版社中的一個或多個來查詢。</p> 
  4. <p><input type="text" name="s" value="" size="64" /> <input type="submit" value="搜索" /></p> 
  5. </form> 
  6. </div> 

即表單提交到名叫search的controller和名叫index的方法,其中包含了一些動態(tài)參數(shù),不是純列表,故相對比較復(fù)雜,后面會提到,代碼如下:

  1. public function index() { 
  2. $keyword = $this->input->get ( 's' ); 
  3. $offset = $this->input->get ( 'offset' ); 
  4.  
  5. if (emptyempty ( $offset )) { 
  6. $offset = 0; 
  7.  
  8. if (! emptyempty ( $keyword )) { 
  9. $this->load->model ( 'book_model' ); 
  10. $this->load->library ( 'pagination' ); 
  11.  
  12. $per_page = 10; 
  13. $config ['num_links'] = 5; 
  14. $config ['base_url'] = '/index.php/' . $this->router->class . '/' . $this->router->method . '/?s=' . $keyword
  15. $config ['per_page'] = $per_page
  16. $config ['total_rows'] = $this->Book_Model->find_by_name ( $keyword, NULL, NULL, true ); 
  17. $config ['page_query_string'] = false; 
  18. $config ['query_string_segment'] = 'offset'//重新定義記錄起始位置的參數(shù)名,默認(rèn)為per_page 
  19.  
  20. $this->pagination->initialize ( $config ); 
  21. $data ['books'] = $this->Book_Model->find_by_name ( $keyword$per_page$offset ); 
  22. $this->load->view ( 'search'$data ); 
  23. else { 
  24. $this->load->view ( 'search' ); 

因?yàn)閏onfig.php中默認(rèn)的enable_query_strings是false,起始位置始終在最后,這樣出來的結(jié)果類似/index.php/search/index/?s=中國/10,頁碼取不到,需要將此配置改為false;

模型,代碼如下:

  1. public function find_by_name($name$per_page=0, $offset = 0, $is_total = false) { 
  2. if ($is_total) {//總數(shù) 
  3. $query = $this->db->query ( "select count(id) as cnt from {$this->_book} where book_name like '%{$name}%'" ); 
  4. if ($query->num_rows () > 0) { 
  5. $row = $query->row (); 
  6. $ret = $row->cnt; 
  7. }else{//列表 
  8. $query = $this->db->query ("select * from {$this->_book} where book_name like '%{$name}%' limit {$offset}, {$per_page}"); 
  9. $ret = $query->result (); 
  10. return $ret

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 冷水江市| 南通市| 章丘市| 揭东县| 乃东县| 仪征市| 曲麻莱县| 沈阳市| 九寨沟县| 固始县| 瓦房店市| 阜新| 永州市| 洛阳市| 嘉义市| 伊川县| 同仁县| 宜宾市| 定结县| 江油市| 大悟县| 即墨市| 三都| 泰和县| 盈江县| 凤阳县| 抚远县| 达日县| 汶上县| 临高县| 常熟市| 商洛市| 东乡| 勃利县| 临武县| 绥芬河市| 葫芦岛市| 汤原县| 荥阳市| 江安县| 常州市|