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

use yii\helpers\Html;

use yii\widgets\ActiveForm;

use yii\helpers\Url;

use yii\widgets\LinkPager;

?>

$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 "
";

echo "
";

?>

显示在v层的分页

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实现多条件查找分页,Yii2.0框架实现带分页的多条件搜索功能示例相关推荐

  1. yii2.0框架中自定义接口,实现类的多继承

    一.前言 最近有个需求,比如有A,B,C,D四个文件,原来的逻辑是,A继承B,C继承D.后来由于A和C的逻辑太像,既然如此的话,为什么不把A,C写一起呢,第一是方便维护,第二也是减少无用的代码,说干就 ...

  2. php tp框架分页源代码,ThinkPHP3.2框架自带分页功能实现方法示例

    本文实例讲述了ThinkPHP3.2框架自带分页功能实现方法.分享给大家供大家参考,具体如下: 1.前端-分页代码: {$page} 2.创建分页样式:如page.css 并将以下代码复制到该文件中 ...

  3. php yii2.0框架下载,yii2.0下载|yii2.0(php框架) v2.0.10官方版 附安装教程 - 121下载站...

    yii2.0是一款高性能的php框架,使用这个框架可以帮助用户快速开发出各类实用的网站应用,包括门户网站.论坛.内容管理系统(CMS).电子商务项目和RESTful Web服务等,它包含了丰富的组件和 ...

  4. 教你在Yii2.0框架中如何创建自定义小部件

    本教程将帮助您创建自己的自定义小部件在 yii framework 2.0.部件是可重用的模块和用于视图. 创建一个小部件,需要继承 yii\base\Widget,覆盖重写 yii\base\Wid ...

  5. MP之自定义分页,多表查询带分页带条件(Error evaluating expression ‘ew.customSqlSegment‘.或 Invalid bound statement)

    一.问题 前端所需数据: 但成绩表中只有考生的id及试卷的id,此时就需要进行多表查询,通过考生的id获取姓名字段,通过试卷的id获取试卷名称.分别需要使用到三张表,成绩表,试卷表,考生表.同时需要做 ...

  6. yii2.0框架报错

    yii2.0Ajax方法报错 报错内容 报错原因 解决方案 注 报错内容 exception 'yii\web\HeadersAlreadySentException' with message 'H ...

  7. android gridview分页显示,GridView使用自带分页功能时分页方式及样式PagerStyle

    GridView分页,使用自带分页功能,类似下面样式: 在aspx页面中,GridView上的PagerStyle下CssClass属性,设置为bubufxPagerCss,具体aspx页面代码: A ...

  8. yii2.0框架debug模式

    转载于:https://www.cnblogs.com/ghjbk/p/7405447.html

  9. excil mysql查询 条件_excel多条件查找 Excel中实现多条件查找的15种方法

    excel多条件查找 Excel中实现多条件查找的15种方法,平凡的世界平凡的你,努力学习使我们变得不平凡,今天要介绍的知识是excel多条件查找的相关知识,你准备好学习excel多条件查找 Exce ...

最新文章

  1. java反射最佳实践,java反射性能测试分析
  2. 使用TextInputLayout分分钟构造一个酷炫登录框架
  3. 全虚拟化与半虚拟化的实现方式
  4. Cissp-【第3章 安全工程】-2021-2-23(290页-321页)
  5. 1.3 Error和Exception的异同
  6. 英语语法---数词详解
  7. windows更新不支持的硬件_Win10五月大更新细节,解决高CPU占用,不支持AMD
  8. hexo d后 ERROR Deployer not found: git
  9. 类加载器ClassLoader
  10. 前端调数据会经常用到的事件处理
  11. Ubuntu卸载图形界面
  12. 阿里天池用Pandas揭秘美国选民的总统喜好附加题
  13. ping命令将结果输出到文本
  14. C++ 类的静态成员变量为什么一定要初始化
  15. lua反射的一个例子
  16. python生成随机imei
  17. 简单讲讲SQL注入原理防御
  18. ai面试的优缺点_淘汰你的不一定是HR,有可能是AI面试官
  19. python自动喷人工具
  20. 图解PhotoView,从“百草园”到“三味书屋”!

热门文章

  1. 数据库基础知识——变量
  2. Leetcode--135. 发糖果
  3. 公交换乘系统c语言,公交换乘的简单实现(源码)
  4. js数组截取前5个_想用好 Node.js?这 5 个经典国产项目值得细品
  5. 与时间相关的java源码_Java 调整日期和时间
  6. python获取mac窗口坐标_[代码全屏查看]-Python3根据IP地址获取MAC地址
  7. python内部函数和比外部函数快_Python:如何允许“内部函数”更改多个“外部函数”中的非局部变量...
  8. ubuntu安装完mysql无法登录_Ubuntu安装mysql8后无法登陆怎么解决
  9. msdn画圆弧函数_精确之美——用TikZ画硬盘示意图
  10. Python面试题大全(二):python高级语法