首页 > 代码库 > CI分页,搜索之后翻页不能用问题
CI分页,搜索之后翻页不能用问题
最近在学习用php的CI框架写一个自己的CMS,遇到了些问题。
其中一个就是CI分页的时候,我的URL带有其他参数,才能查出我想要的数据。于是我翻遍了谷歌度娘,终于找到了解决办法,和我想的差不多,就贴出了和大家分享下。
首先,设置你的base_url,$block,create_id,has_pass,pass_id为我的查询条件,表单提交GET方式,根据条件的有无,修改base_url和查询条件
[php] view plaincopyprint?
$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‘];<br> }
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
[php] view plaincopyprint?
$config[‘page_query_string‘] = TRUE;
最后出现的URL是这样的
[php] view plaincopyprint?
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 里添加如下代码即可
[php] view plaincopyprint?
// And here we go...
$output = ‘共‘.$this->total_rows.‘条记录 ‘.$this->cur_page .‘/‘.$num_pages.‘页 ‘;
好吧,就这样
其中一个就是CI分页的时候,我的URL带有其他参数,才能查出我想要的数据。于是我翻遍了谷歌度娘,终于找到了解决办法,和我想的差不多,就贴出了和大家分享下。
首先,设置你的base_url,$block,create_id,has_pass,pass_id为我的查询条件,表单提交GET方式,根据条件的有无,修改base_url和查询条件
[php] view plaincopyprint?
$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‘];<br> }
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
[php] view plaincopyprint?
$config[‘page_query_string‘] = TRUE;
最后出现的URL是这样的
[php] view plaincopyprint?
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 里添加如下代码即可
[php] view plaincopyprint?
// And here we go...
$output = ‘共‘.$this->total_rows.‘条记录 ‘.$this->cur_page .‘/‘.$num_pages.‘页 ‘;
好吧,就这样
CI分页,搜索之后翻页不能用问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。