用户
 找回密码
 入住 CI 中国社区
搜索
查看: 7681|回复: 10
收起左侧

CI2.0里get()分页,对搜索结果分页(五星教程)

  [复制链接]
发表于 2011-3-14 11:18:37 | 显示全部楼层 |阅读模式
本帖最后由 刀客孩哥 于 2011-3-14 11:21 编辑

ci的分页类很好用,如果提交时是用post,按手册上做就行了。
但带搜索条件的分页,又想简单行事,就需用get提交方式,有几个需要注意的地方,如下:

一.提交搜索条件的页面(view):form method="get"

二.$this->input->get() 这玩意默认是取不到值的,要这么弄(置顶帖里关于打通$GET()的教程):
1. application/config/config.php 里,将
PHP复制代码
$config['uri_protocol']= "AUTO";
复制代码

改为
PHP复制代码
$config['uri_protocol']= "PATH_INFO";
复制代码

2. 在用$this->input->get()这东西之前加一句:
PHP复制代码
parse_str($_SERVER['QUERY_STRING'],$_GET);
复制代码



三.分页类里的
PHP复制代码
$config['base_url'] = 'abc';
复制代码
这里的'abc'不像用post时那般方便,而需要自行构造,如:
PHP复制代码
$config['base_url'] = base_url().'search?aaa='.$aaa.'&bbb='.$bbb.'&ccc='.$ccc
复制代码



四.页数(偏移量)放哪儿?分页类里需要设置这个:
PHP复制代码
$config['page_query_string'] = TRUE;
复制代码

这样在你点第2页,第3页。。。时会自动在你的url尾部加上"per_page=x",这个"x"就是页数,也叫偏移量
发表于 2011-3-14 11:24:11 | 显示全部楼层
不错,
发表于 2011-3-14 11:54:30 | 显示全部楼层
2.0开始,可以$this->input->get到值的
 楼主| 发表于 2011-3-14 13:13:34 | 显示全部楼层
哦,我的2.0好像不可以啊,为此我还专们做了个test去测
发表于 2011-4-15 21:14:08 | 显示全部楼层
2.0确实已经可以支持$this->input->get() 来做获取?后面的参数了
发表于 2011-4-16 15:28:37 | 显示全部楼层
$this->input->get()应该可以了吧,我试过
发表于 2011-5-16 14:32:24 | 显示全部楼层
谢谢,但是能告诉我为什么带搜索的分页要用get形式吗?我用post后,后边的分页都没有结果,是不是有重新调用了一次查询的控制器函数,可是这次没有得到post递交的查询条件,可是为什么get就可以呢?
发表于 2011-5-20 10:38:24 | 显示全部楼层
回复 xiaojun 的帖子

楼上的 没写过搜索分页吗  因为你搜索提交的条件是用POST提交的  你分页是用get分页 所以你得把POST提交的搜索条件赋值给你的链接  那样每次点击下一页 才能知道你的搜索条件
发表于 2011-11-30 10:22:26 | 显示全部楼层
这个方式感觉实现功能可以,但是结果不大。。。哈哈
发表于 2012-2-24 17:36:58 | 显示全部楼层
2.1的直接就用$_GET['name']取值就能取到值的。

本版积分规则