分享

URL带有其他参数时,如何使用PHP的CI框架分页类?

 风凌馆 2016-12-19

 最近在学习用PHP的CI框架写一个自己的CMS,遇到了些问题。

其中一个就是CI分页的时候,我的URL带有其他参数,才能查出我想要的数据。于是我翻遍了谷歌度娘,终于找到了解决办法,和我想的差不多,就贴出了和大家分享下。

首先,设置你的base_url,$block,create_id,has_pass,pass_id为我的查询条件,表单提交GET方式,根据条件的有无,修改base_url和查询条件

  1. $config['base_url'] =  base_url()."index.php/admin/article/manage?";  
  2.   if(!empty($_GET['block'])){  
  3.     $this->db->where('class_id', $_GET['block']);  
  4.     $config['base_url'].="&block=".$_GET['block'];<br>   }  
  5.    if(!empty($_GET['create_id'])){  
  6.     $this->db->where('create_id', $_GET['create_id']);  
  7.     $config['base_url'].="&create_id=".$_GET['create_id'];  
  8.    }  
  9.    if(!empty($_GET['has_pass'])){  
  10.     $this->db->where('has_pass', $_GET['has_pass']);  
  11.     $config['base_url'].="&has_pass=".$_GET['has_pass'];  
  12.    }  
  13.    if(!empty($_GET['pass_id'])){  
  14.      $this->db->where('pass_id', $_GET['pass_id']);  
  15.      $config['base_url'].="&pass_id=".$_GET['pass_id'];  
  16.    }  

然后开启page_query_string

  1. $config['page_query_string'] = TRUE;  

最后出现的URL是这样的

  1. 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 里添加如下代码即可

  1. // And here we go...  
  2.         $output = '共'.$this->total_rows.'条记录  '.$this->cur_page .'/'.$num_pages.'页 ';  

好吧,就这样

 


<script type="text/javascript"><!-- google_ad_client = "ca-pub-1944176156128447"; /* cnblogs 首页横幅 */ google_ad_slot = "5419468456"; google_ad_width = 728; google_ad_height = 90; //--></script><script type="text/javascript" src="http://pagead2./pagead/show_ads.js"></script>    

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多