首页 > 开发 > PHP > 正文

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

2024-05-04 22:40:58
字体:
来源:转载
供稿:网友

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

方法一

在控制器中

public function actionShow(){  $where['title']=Yii::$app->request->get('title');  $where['content']=Yii::$app->request->get('content');  $query=new Query();  $query->from('votes');  // votes 是表名  if(!empty($where['title'])||!empty($where['content'])){    $query->andFilterWhere(      ['like','title',$where['title']]    )->orFilterWhere(      ['like','content',$where['content']]    );  }  $users=$query->from('votes')->all();  $pages = new Pagination(['totalCount' =>$query->count(),'pageSize'=>'2']);  $users = $query->offset($pages->offset)->limit($pages->limit)->all();  return $this->render('show',['data'=>$users,'where'=>$where,'pages'=>$pages]);}

在v层

<?phpuse yii/helpers/Html;use yii/widgets/ActiveForm;use yii/helpers/Url;use yii/widgets/LinkPager;?>
<?php$form=ActiveForm::begin([  'action'=>Url::toRoute(['show']),  'method'=>'get',]);echo '姓名'," ",Html::input('text','title');echo '简介'," ",Html::input('text','content');echo Html::submitButton('提交');ActiveForm::end();echo "<br/>";echo "<br/>";?>

显示在v层的分页

<?phpecho LinkPager::widget([  'pagination'=>$pages,  'nextPageLabel'=>'下一页',  'firstPageLabel'=>'首页'])?>

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

public function actionShow(){  $titles=Yii::$app->request->post('title');  $content=Yii::$app->request->post('content');  $where=1;  if($titles!=""){    $where.=" and title like '%$titles%'";  }  if($content!=""){    $where.=" and content like '%$content%'";  }  $sql="select * from votes where $where";  $users=Yii::$app->db->createCommand($sql)->query();  return $this->render('show',['data'=>$users]);}

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表