php实现多条件查找分页,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层

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程序设计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小白学习Java技术知识点总结,其实学习Java没那么难

边学习边记录是程序员快速进步的途径,只有你不断累积知识,才能有质的飞跃,不断的coding,累积经验。 第一讲,主要是Java环境变量的配置。 搭建好环境才能干活。要理解什么是编译、什么是运行。编译是Javac.exe程序在负…

php二维数组 xml,xml 怎样通过php解析到二维数组里面

localhost1root123<?php $doc new DOMDocument(1.0,utf-8); $doc->load("config.xml"); $roots$doc->documentElement;//获取根节点也就是config(仅有一个) $childs$roots->childNodes;//获取根节点下所有子节点也就是 db smarty for($i0;$ilength;$i)…

为什么说Java 程序员必须掌握 Spring Boot?

大部分人选择学习Java&#xff0c;自然是因为看上了Java的薪资待遇,java的地位可谓在编程界属于大佬&#xff0c;最近Spring Boot 2.0 的推出来后&#xff0c;又激起了一阵学习 Spring Boot 的热潮&#xff0c;那么&#xff0c; 使用 Spring Boot 会带来什么样的变革?一起来了…

matlab实现图片区水印,怎么在含有水印的图像中提取出水印

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼%水印嵌入代码M 256;%原始图像长度N 32; %水印图像长度K 8;I zeros(M, M);J zeros(N, N);BLOCK zeros(K, K);%显示原始图像subplot(221);I imread(C:\Users\Rocky\Documents\MATLAB\cameraman.bmp);imshow(I);title(原始图像…

你想成为Java架构师吗?掌握这六项就够了!

Java架构师&#xff0c;应该算是一些Java程序员们的一个职业目标了吧。很多码农码了五六年的代码也没能成为架构师。 我在这里分享6个专题来提高大家的编程能力 开源框架解析-架构师筑基-高性能架构-微服务架构-团队协作开发-B2C商城实战 一、开源框架解析&#xff1a; 程序…

主机不支持php5.4,GoDaddy Linux主机不再支持PHP5.3版本 | Godaddy美国主机中文指南

近日小编发现GoDaddy的Linux虚拟主机已经不再支持PHP5.3版本了&#xff0c;默认的都是5.4以上。也许是考虑到PHP5.4及以上版本性能更优&#xff0c;所以GoDaddy官方去掉了5.3的版本。GoDaddy的Linux虚拟主机支持PHPMySQL等程序环境&#xff0c;而PHP是目前网站程序中非常流行的…

Java并发编程以及并发须知的几个概念:什么是线程安全?

众所周知&#xff0c;在Java的知识体系中&#xff0c;并发编程是非常重要的一环&#xff0c;也是面试的必问题&#xff0c;一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员&#xff0c;我决定从今天开始死磕Java的并发编程&#xff0c;尽量…

jsonschema php 例子,[宜配屋]听图阁

本文实例讲述了php使用json-schema模块实现json校验。分享给大家供大家参考&#xff0c;具体如下&#xff1a;客户端和服务端的http信息传递&#xff0c;采用json几乎成了标配。json格式简单&#xff0c;易于处理&#xff0c;不过由于没有格式规定&#xff0c;无法校验。好在ph…

Java的主要特性有哪些?

Java语言是简单的&#xff1a; Java语言的语法与C语言和C语言很接近&#xff0c;使得大多数程序员很容易学习和使用。另一方面&#xff0c;Java丢弃了C中很少使用的、很难理解的、令人迷惑的那些特性&#xff0c;如操作符重载、多继承、自动的强制类型转换。特别地&#xff0c…

车载异构网络接入matlab,车载移动异构无线网络架构及关键技术

计算机技术、通信技术和微电子技术的迅速发展&#xff0c;以及三者之间的相互渗透和融合奠定了通信网络技术的应用&#xff0c;推动了社会信息化的发展。近年来&#xff0c;车辆的爆发式增长和无处不在的信息需求也日益将通信网络和车辆紧密结合起来。人们在车辆移动过程中的通…

Java的面试汇总,有这些还担心不通过?

面试官提问的内容通常会由易到难&#xff0c;如果前面容易的内容都答不上来&#xff0c;往往就被刷了&#xff0c;如果是前面提问的都答上来了&#xff0c;他会问一些有深度的问题&#xff0c;这时候就算你回答不上来也不要慌张&#xff0c;他只是看看你的薪资水平而已 接下来…

c matlab.h,用matlab和c写程序,include的mex.h在哪里?

span namewhlm idwhlm请看这个帖子【mcc、mbuild和mex命令详解】a href"http://www.matlabsky.com/thread-544-1-1.html"http://www.matlabsky.com/thread-544-1-1.html/a(1)创建MEX文件>>mcc –x filename (注意这个命令在2008a中已经去掉了)将M文件filename.…

Java开发需要达到什么样的水平才称得上架构师?

小编就从Java架构师&#xff08;P7&#xff09;岗位说起吧&#xff0c;年薪40w&#xff0c;那我们看看什么公司&#xff0c;什么级别可以给到&#xff0c;再看看要求。阿里是Java大厂&#xff0c;所以可以参考阿里的标准&#xff0c;阿里一般是16薪水&#xff0c;所以就是税前2…

matlab源代码 语义相似度计算,如何计算两个句子之间的相似度(句法和语义)...

我应该每次取两个句子并计算它们是否相似。我的意思是&#xff0c;在语法和语义上都是这样。如何计算两个句子之间的相似度(句法和语义)INPUT1&#xff1a;奥巴马签署法律。奥巴马签署了一项新法律。INPUT2&#xff1a; 总线停在这里。 车辆停在这里。INPUT3&#xff1a;纽约的…

java八股 mysql优化

数据库篇-01-MySQL篇-课程介绍_哔哩哔哩_bilibili 1.定位慢查询 2.分析优化慢查询 3.索引概念及结构 3.1 红黑树&#xff08;一种自平衡的二叉排序树&#xff09; 节点可以自动平衡保证log2 n的查找复杂度. 但因为是二叉树&#xff0c;数据多了层数还会多。 所以找一个多叉树 3…

Java开发中快速提升编码能力的方法有哪些?

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性&#xff0c;广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网&#xff0c;同时拥有全球最大的开发者专业社群。 Java是一种简单的&…

php数组o m n mn,O(m + n)和O(mn)之间的区别?

小编典典我对发现直觉的建议是思想实验&#xff0c;如下所示&#xff1a;首先&#xff0c;认识到m和n是 输入的 两个 不同度量。它们可能是两个输入流的长度&#xff0c;矩阵边的长度&#xff0c;或同一数据结构的两个不同属性的计数&#xff0c;例如同一图形的边和节点计数&am…

Java虚拟机知识汇总,有这些还怕面试被问到?

首先我们来看一下Java运行时的数据区域&#xff0c;Java虚拟机在执行Java程序的过程中&#xff0c;会把它所管理的内存&#xff0c;划分成若干个不同的数据区域&#xff0c;这些区域都有各自的用途&#xff0c;各自的创建和销毁的时间。 有的区域&#xff0c;随着虚拟机进程的…

Java的多线程以及内存模型的知识点梳理,有想到过这些吗?

JMM大致描述&#xff1a; JMM描述了线程如何与内存进行交互。Java虚拟机规范视图定义一种Java内存模型&#xff0c;来屏蔽掉各种操作系统内存访问的差异&#xff0c;以实现Java程序在各种平台下都能达到一致的访问效果。 JMM描述了JVM如何与计算机的内存进行交互 JMM都是围绕…

Java性能优化方面的程序优化知识点归纳,希望对你有所帮助

常用的程序设计优化技巧&#xff1a; 1、字符串优化处理 &#xff08;1&#xff09;String 类的特点&#xff1a;不变性、针对常量池的优化&#xff08; String.intern() 方法的意义&#xff09; &#xff08;2&#xff09;subString 方法的内存泄漏 : &#xff08;3&#…