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


Posted in PHP onFebruary 20, 2019

本文实例讲述了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层

<?php
use 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层的分页

<?php
echo 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 相关文章推荐
PHP 和 MySQL 基础教程(三)
Oct 09 PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 PHP
PHP模板引擎Smarty内建函数详解
Apr 11 PHP
学习PHP的数组总结【经验】
May 05 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
Dec 18 PHP
PHP8.0新功能之Match表达式的使用
Jul 19 PHP
PHP获取访问设备信息的方法示例
Feb 20 #PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
Feb 20 #PHP
PHP调用全国天气预报数据接口查询天气示例
Feb 20 #PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 #PHP
php原生数据库分页的代码实例
Feb 18 #PHP
PHP实现文字写入图片功能
Feb 18 #PHP
php分享朋友圈的实现代码
Feb 18 #PHP
You might like
PHP实现对文本数据库的常用操作方法实例演示
2014/07/04 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
JS中Iframe之间传值及子页面与父页面应用
2013/03/11 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
jQuery UI插件自定义confirm确认框的方法
2015/03/20 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
vuejs指令详解
2017/02/07 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
js截取字符串功能的实现方法
2017/09/27 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
小程序实现搜索框
2020/06/19 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
python类型强制转换long to int的代码
2013/02/10 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
农民致富事迹材料
2014/01/23 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
对公司的意见和建议
2015/06/04 职场文书
《1942》观后感
2015/06/08 职场文书
解决python3安装pandas出错的问题
2021/05/20 Python
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python