Yii2.0框架实现带分页的多条件搜索功能示例
时间:2022-07-27
本文章向大家介绍Yii2.0框架实现带分页的多条件搜索功能示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了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 yiihelpersHtml;
use yiiwidgetsActiveForm;
use yiihelpersUrl;
use yiiwidgetsLinkPager;
?
<?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]);
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android开发实现ImageView加载摄像头拍摄的大图功能
- Android开发实现的Intent跳转工具类实例
- Android开发中的文件操作工具类FileUtil完整实例
- Android开发中超好用的正则表达式工具类RegexUtil完整实例
- Android ijkplayer的使用方法解析
- Android开发实现查询远程服务器的工具类QueryUtils完整实例
- 解决android studio 3.0 加载项目过慢问题–maven仓库选择
- Android实现朋友圈点赞列表
- Kotlin基本类型自动装箱一点问题剖析
- Kotlin入门教程之开发环境搭建
- Android:Field can be converted to a local varible.的解决办法
- Android使用多线程进行网络聊天室通信
- android实现banner轮播图无限轮播效果
- Android CheckBox中设置padding无效解决办法
- Android开发中使用颜色矩阵改变图片颜色,透明度及亮度的方法