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下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
PHP 数组基础知识小结
Aug 20 PHP
PHP学习 变量使用总结
Mar 24 PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
php查看网页源代码的方法
Mar 13 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
PHP实现抓取迅雷VIP账号的方法
Jul 30 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
PHP中非常有用却鲜有人知的函数集锦
Aug 17 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 PHP
php实现对短信验证码发送次数的限制实例讲解
Mar 04 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可逆加密/解密函数分享
2012/09/25 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
js+css在交互上的应用
2010/07/18 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
2012/11/08 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
详解Node.JS模块 process
2020/08/31 Javascript
解读Django框架中的低层次缓存API
2015/07/24 Python
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
Python如何调用外部系统命令
2019/08/07 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
Python用input输入列表的实例代码
2020/02/07 Python
Eclipse配置python默认头过程图解
2020/04/26 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
python如何使用腾讯云发送短信
2020/09/17 Python
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
Linux上比较文件的命令都有哪些
2013/09/28 面试题
2015年党建工作目标责任书
2015/05/08 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android
深入解析Apache Hudi内核文件标记机制
2022/03/31 Servers