thinkphp 查询数据时需要分页显示时,会出现只有第1页是按查询条件查到的数据,而其他页面都恢复了,我们想要的结果却是:在翻页时,查询条件保持不变。
原因是:在分页跳转的时候,没有将查询条件作为分页参数传递到下一页。原来翻页的时候,存储在REQUEST变量中的参数并未被传递到下一页,因为表单的 method = “post”,而点击进入下一页时,很明显form表单被重置了,所以打印REQUEST变量也是空的。
thinkphp RBAC的示例代码中给出了:
试过之后,发现虽然试图在URL参数中加入查询条件,但是显示的结果仍然如初,因为翻到第二页时,查询条件的表单数据已经丢失了。
查看ORG.page类,发现其parameter属性确实是由用户表单输入的查询条件和系统内定的分页参数p经过urlencode最后附加到页码跳转的链接URL上。尽管thinkphp官方说,会优先去POST,再去GET变量,但是结果却并非想象中那么美好。
在模版中,将查询条件的表单提交方式,由POST方式 改为 GET 方式 ,即:method = “get”,问题暂时解决了。
待续…
2013.11.27
今天有了一些新的想法。不知道这种方式好不好。
1、在使用了条件查询时,将查询条件发送到action,
2、action在调用view显示页面时,再把查询条件字段写到页面上。
3、重复1操作。
thinkphp分页时保持查询条件,布布扣,bubuko.com
原文:http://www.cnblogs.com/xiaocheng-zjc/p/3867860.html