cakephp学习之翻页查询给条件
在应用cakephp框架时,带给我们的便利之处,我在此不必赘述,但要修改起来,对于新手来说,还真的有种无从下手的感觉。就翻页功能而言,一般是在controllers控制器中定义:
var $paginate = array('School' => array('limit' => 8, 'order' => 'createtime desc'));
在views视图页面中使用即可:
<?php
echo $paginator->first('首页');
echo $paginator->prev('上一页');
echo $paginator->numbers();
echo $paginator->next('下一页');
echo $paginator->last('尾页');
?>
这样的展示无论功能还是效果,看起来都很酷。可是当我们要带着传递查询条件(如:keyword...)怎么办?
这就需要----------------拼URL串------------------
视图页面中拼串:
$paginator->options(array('url'=>array_merge(array('?'=>'keyword='.((!empty($_GET['keyword'])) ? $_GET['keyword'] : '')),$this->passedArgs)));
这样就可以实现:
http://domain/projectname/controllersname/index/page:1?keyword=1 的预期URL传递效果了。
传递多个条件可以在对应array中相应添加:
示例如下:
$paginator->options(array('url'=>array_merge(array('?'=>'keyword='.$_GET['keyword'].'state='.$_GET['state'].'&isrecommend='.$_GET['isrecommend']),$this->passedArgs)));
如果感觉看起来有点乱的话,最好先看一下官方文档的介绍:
参考地址:
http://book.cakephp.org/cn/view/166/Pagination-in-Views
近期本人开通了微信订阅号“CakePHP学习”,欢迎大家的关注。