php通过数组实现多条件查询实现方法(字符串分割)
<?php
$keyword="asp php,jsp";
$keyword=str_replace(" "," ",$keyword);
$keyword=str_replace(" ",",",$keyword);
$keyarr=explode(',',$keyword);
for($index=0;$index<count($keyarr);$index++)
{
$whereSql .= " And (arc.title like '%$keyarr[$index]%' Or arc.keywords like '%$keyarr[$index]%') ";
}
echo $whereSql;
为了同时支持空格与逗号,需要提前替换为统一的逗号,就是先将空格都替换为逗号,然后再通过逗号分割字符串,然后循环拼接sql查询语句。
str_replace就是php中常用的字符串替换函数。
explode就是php中常用的字符串分割为数组的函数。
相关推荐
-
Thinkphp使用mongodb数据库实现多条件查询方法
有个项目用了mongodb数据库,查询条件有and也有or,按Thinkphp官方手册,使用复合查询(_complex),getLastSql输出查询语句,发现查询条件是空的.用字符串模式查询(_string),请求字符串查询(_query)无法满足需求.估计用mongodb的用户不多,thinkphp官方对这方面支持也不够.打开thinkphp的mongodb驱动,Thinkphp/Extend/Driver/Db/DbMongo.class.php,找到protected function
-
fleaphp下不确定的多条件查询的巧妙解决方法
问题:例如,实现如下 $data = array( 'id' => $_POST['id1'], 'name' => $_POST['name1'] ); $posts = $this->_modelstudent->findAll($data); 页面上有 id name 的文本框 可输入ID查询 也可输入NAME查询 也可同时输入查询 : 解决:写循环做判断 例子如下: $conditions = null; $fields = array('id', 'name', 'sex
-
PHP实现多条件查询实例代码
查询文件(search.php) 一.生成查询语句: 复制代码 代码如下: <? $conn=mysql_connect("localhost","root",""); $db=mysql_select_db("lingyun"); $query="select * from message where tradetype='".$tradetype."'"; //交易类型,如出租
-
PHP组合查询多条件查询实例代码第1/2页
先向大家说明需求:按照我们系统的要求,我们将通过部门名称.员工姓名.PC名称.IP地址等等字段来进行组合查询从而得到想要的数据结果.那么,为了简单起见,我们用两个条件(部门名称.员工姓名)的组合查询来向大家说明这一技术技巧.当我们只输入部门名而员工姓名为空值时,那么部门内所有员工信息将被呈现,只有当你同时限制部门与员工姓名时,才能查询出唯一信息. 那就让我们开始. 首先建立查询页面search.php,不同于上次单一条件查询,这次我们需要两个条件的组合进行查询. <html> <body
-
php查询及多条件查询
单条件查询: 1.先要有一张表,显示出表中的数据: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta
-
php通过数组实现多条件查询实现方法(字符串分割)
复制代码 代码如下: <?php $keyword="asp php,jsp"; $keyword=str_replace(" "," ",$keyword); $keyword=str_replace(" ",",",$keyword); $keyarr=explode(',',$keyword); for($index=0;$index<count($keyarr);$index++) {
-
MySQL查询字段实现字符串分割split功能的示例代码
目录 问题背景 场景模拟 方法实现 SUBSTRING_INDEX LENGTH REPLACE SQL解析 问题背景 查询MySQL中用逗号分隔的字段[a,b,c]是否包含[a] 场景模拟 现有表[ec_logicplace],如下图所示: 要求判断数值[1]是否存在于表[ec_logicplace]中的[actual_place_id]中 方法实现 首先将[actual_place_id]字段用逗号拆分查询出来 通用模板为: SELECT SUBSTRING_INDEX( SUBSTRING
-
利用MyBatis实现条件查询的方法汇总
SQL映射文件 Mybatis真正强大的是在于它的SQL映射语句,也是它的流弊之处. 它的功能强大,SQL映射文件的配置却比较简单. 使用SQL映射文件可以减少50%以上的代码量. Mybatis专注于SQL,对于开发人员来说可极大限度地进行SQL调优,以保证性能,下面是SQL映射文件的几个顶级元素配置 1.mapper 它是映射文件的根节点,只有一个属性就是 namespace(命名空间)它的作用是区分不同的mapper,里面的参数是全局唯一的,绑定DAO层接口,即面向接口编程 namespa
-
MySQL中使用case when 语句实现多条件查询的方法
举例如下: 数据表为DemoTable,字段有id, condition1,condition2,condition3,condition4,condition5 要求是查询DemoTable中,condition1,condition2,condition3,condition4,condition5五个字段中符合任意两个或两个以上的条件的内容. 可使用case when来实现这个条件,需要嵌套子查询语句 sql语句代码示例如下: 复制代码 代码如下: SELECT * FROM DemoTa
-
Mybatis Criteria使用and和or进行联合条件查询的操作方法
之前用Mybatis框架反向的实体,还有实体里面的Example,之前只是知道Example里面放的是条件查询的方法,可以一直不知道怎么用,到今天才开始知道怎么简单的用.在我们前台查询的时候会有许多的条件传过来:先看个例子: public List<Contact> searchByExample(Contact contact) { System.out.println("searchByExampleContact"); ContactExample example =
-
Mybatis-plus selectByMap条件查询方式
目录 selectByMap条件查询 selectMaps方法返回值字段为空不显示问题 1.application.yaml设置mybayisPlus 2.添加call-setters-on-nulls: true之后 selectByMap条件查询 List<T> selectByMap(@Param("cm") Map<String, Object> columnMap); 如上,可以看到BaseMapper中的selectByMap接口需要的参数是Map&
-
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
ThinkPHP的数据库条件查询语句有字符串式,数组式书写方法 字符串式即是原生式,数组式查询语句因书写方式与特定字符的原因比较复杂,下面为大家例出了常用的ThinkPHP数组式查询语句的使用方法 ThinkPHP一般查询 $data_gt['id']=array('gt',8);//gt:>大于 $data_egt['id']=array('egt',8);//egt:>=大于等于 $data_lt['id']=array('lt',8);//lt:<小于 $data_elt['id'
-
Java StringUtils字符串分割转数组的实现
我们在日常开发时会经常遇到将一个字符串按照指定的字符进行分割. 这时,我们往往会想到使用str.split(","),进行处理得到分割后的数组. 然而, 使用split()方法在分割特殊的字符时是需要转移的.如小数点"." 下面我为大家推荐一种可以无需转义,即可分割的方法. 使用 org.springframework.util.StringUtils 中的 delimitedListToStringArray(str,delimiter) 进行测试 public
-
ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解
本文实例讲述了ThinkPHP5联合(关联)查询.多条件查询与聚合查询.分享给大家供大家参考,具体如下: 一.联合(关联)查询 1. 项目表 DROP TABLE IF EXISTS `darling_project`; CREATE TABLE `darling_project` ( `project_id` int(32) NOT NULL AUTO_INCREMENT, `project_name` varchar(20) NOT NULL, `create_time` int(32) N
-
Laravel5中实现模糊匹配加多条件查询功能的方法
本文实例讲述了Laravel5中实现模糊匹配加多条件查询功能的方法.分享给大家供大家参考,具体如下: 方法1. ORM模式 public function ReportAccurate($data) { if(is_array($data)) { $where = $this->whereAll($data); return $where; } else { return false; } } /*多条件模糊*/ public function whereAll($data) { $query
随机推荐
- 对一个vbs脚本病毒的病毒原理分析
- mysql仿oracle的decode效果查询
- iOS设置UIButton文字显示位置和字体大小、颜色的方法
- Javascript ES6中对象类型Sets的介绍与使用详解
- PHP查找与搜索数组元素方法总结
- PHP制作百度词典查词采集器
- C#中委托的+=和-=深入研究
- JavaScript中的fontsize()方法使用详解
- Bootstrap简单表单显示学习笔记
- 详解Java设计模式之备忘录模式的使用
- 通过SQL Server的位运算功能巧妙解决多选查询方法
- jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
- ipfilter+ipnat包过滤、转发和DHCP服务器架构笔记
- JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版整理
- java 装饰模式(Decorator Pattern)详解及实例代码
- 基于Tomcat安全配置与性能优化详解
- VMware Workstation安装Linux(Ubuntu)系统
- int在python中的含义以及用法
- python正则中最短匹配实现代码
- 解决Tomcat 中catalina.out持续累加问题