数据访问......单条件查询与多条件查询
一. 将数据库数据访问封装成类
<?php class DB {public $host = "localhost"; //服务器地址public $uid = "root"; //用户名public $pwd = "123"; //密码//执行SQL语句,返回相应结果的方法//$sql代表要执行的SQL语句,$type代表SQL语句类型;0代表查询,1代表其他;$db代表要操作的数据库.function Query($sql,$type=0,$db="mydb") //默认为查询语句,操作的数据库为"mydb".{//1.造连接对象$dbconnect = new MySQLi($this->host,$this->uid,$this->pwd,$db);//2.判断是否出错!mysqli_connect_error() or die("连接失败!");//3.执行SQL语句$result = $dbconnect->query($sql);//4.判断是查询语句还是其他语句,若是查询语句则返回二维数组,否则返回true or falseif($type==0){return $result->fetch_all();}else {return $result;}} }
二. 单条件查询
<?php include("DB.class.php"); $db=new DB(); $cx=""; //先定义变量,方便下面使用 $value=""; if(!empty($_POST["name"])) //判断传过来的name值是否为空 {$name=$_POST["name"];$cx=" where Name like '%{$name}%'"; //查询字符串,注意where前面加空格,否则会出错$value=$name; } ?>
<h1>汽车查询页面</h1> <form action="" method="post"> <!--在哪个页面显示就提交到哪个页面,若为空就提交到当前页面--><div>请输入名称: <input type="text" name="name" value="<?php echo $value; ?>" /> <!--点击查询后,查询关键字仍显示,可将value值设为$_post["name"]--><input type="submit" value="查询" /></div> </form> <br /> <table width="100%" border="1" cellpadding="0" cellspacing="0"><tr><td>代号</td><td>汽车名称</td><td>价格</td><td>油耗</td><td>功率</td></tr>
<?php $sql="select * from Car".$cx; $attr=$db->Query($sql); //只传一个参数sql,默认$type=0,$db="mydb" foreach($attr as $v) {//处理Name,让关键字特殊显示,可用替换字符串//$rp="<mark>{$value}</mark>"; //查询关键字加上Mark标签$rp="<span style='color:red'>{$value}</span>"; //查询关键字加上span标签,通过span标签更改样式$str=str_replace($value,$rp,$v[1]); //将$v[1]中的$value用$rp替换成为新字符串存在变量$str里echo "<tr><td>{$v[0]}</td><td>{$str}</td><td>{$v[7]}</td><td>{$v[4]}</td><td>{$v[5]}</td></tr>"; } ?> </table>
三. 多条件查询
先将多个条件设定为恒等式,再判断条件是否为空,再拼接查询语句,注意条件前面加空格
<h1>汽车查询页面</h1> <?phpinclude("DB.class.php");$db=new DB(); $vn=""; //花括号里面的变量必须在外面先定义才能在下面继续引用,否则会报错:未定义变量$vb="";$tj1= "1=1"; //条件1的判断$tj2 = "1=1"; //条件2的判断if(!empty($_POST["name"])) //判断: 若传过来的name不为空 {$tj1=" Name like '%{$_POST['name']}%'"; //注意Name前面的空格$vn=$_POST["name"];}if(!empty($_POST["brand"])) //有几个条件就判断几次 {$tj2=" Brand ='{$_POST['brand']}'"; $vb=$_POST["brand"];}$cx=" where {$tj1} and {$tj2}"; ?>
<form action="" method="post"><div>请输入名称:<input type="text" name="name" value="<?php echo $vn; ?>" /> 系列: <input type="text" name="brand" value="<?php echo $vb ?>" /> <input type="submit" value="查询" /></div> </form> <br /> <table width="800" border="1" cellpadding="0" cellspacing="0"><tr><td>代号</td><td>汽车名称</td><td>系列</td><td>价格</td><td>油耗</td><td>功率</td></tr>
<?php$sql="select * from Car".$cx;$attr=$db->Query($sql); //只传一个参数sql,默认$type=0,$db="mydb"foreach($attr as $v){//处理Name//$rp="<mark>{$value}</mark>"; //查询关键字加上Mark标签,突出关键字$rp1="<span style='color:red'>{$vn}</span>"; //查询关键字加上span标签,通过span标签更改样式$rp2="<span style='color:green'>{$vb}</span>";$str1=str_replace($vn,$rp1,$v[1]);$str2=str_replace($vb,$rp2,$v[2]);echo "<tr><td>{$v[0]}</td><td>{$str1}</td><td>{$str2}</td><td>{$v[7]}</td><td>{$v[4]}</td><td>{$v[5]}</td></tr>"; }?> </table>
转载于:https://www.cnblogs.com/xinghun/p/5483279.html
数据访问......单条件查询与多条件查询相关推荐
- MyBatis关联查询、多条件查询
MyBatis关联查询.多条件查询 1.一对一查询 任务需求; 根据班级的信息查询出教师的相关信息 1.数据库表的设计 班级表: 教师表: 2.实体类的设计 班级表: public class Cla ...
- Mybatis基础:增删改查、模糊查询、多条件查询
Mybatis基础:增删改查.模糊查询.多条件查询http://www.bieryun.com/3132.html 1.新建测试数据库,根据实体类属性创建 2.实体类 [java] view plai ...
- 众筹网站项目第四天之异步请求的分页查询和模糊条件查询(2)
打开原教程视频 注:本人是渣渣,有错请谅解. 异步请求的分页查询和模糊条件查询 同步请求和异步请求的区别在实现登录功能时已经介绍过了,下图便是实现异步请求分页查询的时序图. 可以看出我们首先进行用户列 ...
- alin的学习之路(数据库篇:二)(select查询,where条件查询,order by排序,单行函数,多行函数,group by分组)
alin的学习之路(数据库篇:二)(select查询,where条件查询,order by排序,单行函数,多行函数,group by分组) 1. SQL语句 1.1 sql语言类型 sql是一门独立的 ...
- java mongodb 多表关联查询,多条件查询,分页,排序
前言: 由于最近项目赶,版本迭代快,不知道大BOSS从哪里听别人说MongoDB用来做关系型数据库好,而且速度快,性能高:听到这话的我,立马就反驳了回去:"MongoDB不支持事物" ...
- ssm框架中利用pagehelper分页,完成模糊查询与select条件查询
ssm框架中利用pagehelper分页,完成模糊查询与select条件查询 一.问题分析 1.1 往期回顾 pagehelper分页 https://blog.csdn.net/Jia_Peng_T ...
- SQL之EXISTS子查询和IF条件查询
不积跬步,无以至千里. " 今天给大家分享的是SQL的EXISTS子查询和IF条件查询语句. EXISTS EXISTS子查询 EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际 ...
- mongoTemplate的GroupOperation分组查询及Criteria条件查询的使用
mongoTemplate的GroupOperation分组查询及Criteria条件查询的使用 GroupOperation: //此处类似于SQL中的groupBy,group("&qu ...
- 单条件求和和多条件求和以及条件求平均
单条件求和 计算经管学院数学成绩之和 可以输入=sumif(学院列,"经管学院",数学成绩列) 求环境学院英语成绩之和 可以输入=sumif(学院列,随机点一个环境学院,英语列) ...
最新文章
- php动态语言静态化
- 38 JavaScript中的this指向问题
- php中RGB转十六进制、十六进制转RGB
- VUE iscroll(银联二维码,浩哥页面用过)
- Concert Tour(Uvalive 6853)
- mysql php 乱码问题_解决php与mysql中文乱码问题
- 微信运营:必须收藏的101条万能微信标题公式
- iBase4J项目笔记
- 移动端前端开发技术概况
- 对比修改过的两个BOM表
- W10虚拟机一开机电脑蓝屏重启
- 如何将域名和网站转入香港主机
- Android烂笔头
- 微信公众号开发工具汇总
- RS485学习(一)
- mysql 中手动设置事务提交
- Python OS模块和文件处理
- 转载:[5GC]5G LAN标准解读
- scala的子类调用父类的构造器的使用
- Aptana插件ZIP包下载方法