首页 > 语言 > PHP > 正文

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

2024-05-05 00:06:52
字体:
来源:转载
供稿:网友

本文实例讲述了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框架的PHP程序设计有所帮助。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选