当前位置:首页 > CMS教程 > 其它CMS > 列表

Yii2.0框架实现带分页的多条件搜索功能示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-10 16:19:02 浏览: 评论:0 

这篇文章主要介绍了Yii2.0框架实现带分页的多条件搜索功能,涉及Yii2.0数据库查询及分页显示相关操作技巧,需要的朋友可以参考下。

本文实例讲述了Yii2.0框架实现带分页的多条件搜索功能,分享给大家供大家参考,具体如下:

方法一

在控制器中

  1. public function actionShow(){ 
  2.   $where['title']=Yii::$app->request->get('title'); 
  3.   $where['content']=Yii::$app->request->get('content'); 
  4.   $query=new Query(); 
  5.   $query->from('votes'); 
  6.   // votes 是表名 
  7.   if(!emptyempty($where['title'])||!emptyempty($where['content'])){ 
  8.     $query->andFilterWhere( 
  9.       ['like','title',$where['title']] 
  10.     )->orFilterWhere( 
  11.       ['like','content',$where['content']] 
  12.     ); 
  13.   } 
  14.   $users=$query->from('votes')->all(); 
  15.   $pages = new Pagination(['totalCount' =>$query->count(),'pageSize'=>'2']); 
  16.   $users = $query->offset($pages->offset)->limit($pages->limit)->all(); 
  17.   return $this->render('show',['data'=>$users,'where'=>$where,'pages'=>$pages]); 

在v层

  1. <?php 
  2. use yii\helpers\Html; 
  3. use yii\widgets\ActiveForm; 
  4. use yii\helpers\Url; 
  5. use yii\widgets\LinkPager; 
  6. ?> 
  7.  
  8. <?php 
  9. $form=ActiveForm::begin([ 
  10.   'action'=>Url::toRoute(['show']), 
  11.   'method'=>'get'
  12. ]); 
  13. echo '姓名'," ",Html::input('text','title'); 
  14. echo '简介'," ",Html::input('text','content'); 
  15. echo Html::submitButton('提交'); 
  16. ActiveForm::end(); 
  17. echo "<br/>"
  18. echo "<br/>"
  19. ?> 

显示在v层的分页

  1. <?php 
  2. echo LinkPager::widget([ 
  3.   'pagination'=>$pages
  4.   'nextPageLabel'=>'下一页'
  5.   'firstPageLabel'=>'首页' 
  6. ]) 
  7. ?> 

方法二(不带分页  是另外一种方法)

  1. public function actionShow(){ 
  2.   $titles=Yii::$app->request->post('title'); 
  3.   $content=Yii::$app->request->post('content'); 
  4.   $where=1; 
  5.   if($titles!=""){ 
  6.     $where.=" and title like '%$titles%'"
  7.   } 
  8.   if($content!=""){ 
  9.     $where.=" and content like '%$content%'"
  10.   } 
  11.   $sql="select * from votes where $where"
  12.   $users=Yii::$app->db->createCommand($sql)->query(); 
  13.   return $this->render('show',['data'=>$users]); 
  14. }

Tags: Yii2 0分页 Yii2 0多条件搜索

分享到: