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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="200">编号</td>
<td width="200">姓名</td>
<td width="200">电话</td>
<td width="200" >分组</td> </tr>
<?php
$db = new mysqli("localhost","root","12345678","heiheihei");
$sql = "select * from contacts";
$r = $db->query($sql);
//传值
while ($attr = $r->fetch_row())
{
echo " <tr>
<td>{$attr[0]}</td> <td>{$attr[1]}</td>
<td>{$attr[2]}</td>
<td>{$attr[3]}</td> </tr>";
}
?>
</table> </body>
</html>
上图:
啥都没改的一张表
2.再来个from表单,让用户输入,点击查询:
<form action="shouye.php" method="post">
<div>
输入名字:<input type="text" name="name"/>
<input type="submit" value="查询"/> </div> </form>
如图:
3.建立关键字查询:
<?php
//实现两个逻辑
//1.如果没有post数据.查所有的
//2.如果有post数据.根据条件查
$db = new mysqli("localhost","root","12345678","heiheihei");
//连接数据库
$tj = " 1 = 1 ";
$name="";
//恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据
//如果你写入数据,按照数据查
if(!empty($_POST))
{
$name = $_POST['name'];
$tj = " name like '%{$name}%'";
}
//将条件拼接到SQl语句
$sql = "select * from contacts WHERE {$tj}";
echo $sql; //查出来
$r = $db->query($sql);
//传值
if($r)
//开始判断
{
//$attr已经接收到了值,现在只需要获取他的索引就行了
while ($attr = $r->fetch_row())
{
//关键字特殊查询 $str = str_replace($name,"<mark>{$name}</mark>",$attr[1]); //查找替换如ctrl+f
//substr_replace(); 在指定位置替换
//substr(); 截取字符串 $gname = "select gname from groups WHERE gid='{$attr[3]}'";
//分组表中的gid,和我点击的
$nresult = $db->query($gname);
$gname = $nresult->fetch_row();
$nation = $gname[0];
echo " <tr>
<td>{$attr[0]}</td> <td>{$str}</td>
<td>{$attr[2]}</td>
<td>{$nation}</td> ?>
图:
多条件查询:
前面照旧;
出了php的语句:
<?php
//实现两个逻辑
//1.如果没有post数据.查所有的
//2.如果有post数据.根据条件查
$db = new mysqli("localhost","root","12345678","heiheihei");
//连接数据库
$tj1 = " 1 = 1 ";
$tj2 = " 1 = 1 ";//两个条件的恒等
$name="";
//恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据
//如果你写入数据,按照数据查
if(!empty($_POST["name"])) //第一个条件的判断(用到了模糊查询)
{
$name = $_POST['name'];
$tj1 = " name like '%{$name}%'";
}
if(!empty($_POST["tel"]))
{
$tel = $_POST["tel"];
$tj2 = "tel = '$tel'";
}
//将条件拼接到SQl语句
$sql = "select * from contacts WHERE {$tj1} AND {$tj2}";
效果图:
这样:有几个条件就做几个条件变量,第一个条件不为空就执行的第一个条件,第二个条件不为空执行的第二个条件,两个都为空就是查寻所有的数据
php查询,多条件查询的更多相关文章
- [转]NHibernate之旅(4):探索查询之条件查询(Criteria Query)
本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Ex ...
- 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据
1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...
- MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序
一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...
- dhtmlxGrid分页查询,条件查询实例
使用jquery的ajax get将页面条件请求到后台,取得数据库数据,分页查询,返回前台grid中. 引入所需文件: <script>window.dhx_globalImgPath = ...
- MySQL数据库—查询基础,简单查询,条件查询,对查询结果排序
一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...
- Mybatis框架模糊查询+多条件查询
一.ISmbmsUserDao层 //根据姓名模糊查询 public List<Smbms> getUser(); //多条件查询 public List<Smbms> get ...
- 软件测试最常用的 SQL 命令 | 掌握基本查询、条件查询、聚合查询
1.DML核心CRUD增删改查 缩写全称和对应 SQL: * DML 数据操纵语言:Data Manipulation Language * Create 增加:insert * Retrieve 查 ...
- MySQL——基础查询与条件查询
基础查询 /* 语法: select 查询列表 from 表名; 类似于:System.out.println(打印东西); 1.查询列表可以是:表中的字段.常量值.表达式.函数 2.查询的结果是一个 ...
- 高级查询子条件查询filter
Filter Context 在查询过程中,只判断该文档是否满足条件,只有Yes或者No { "query":{ "bool":{ //布尔关键词 " ...
- .netcore mongodb 分页+模糊查询+多条件查询
.netcore MongoDB.Driver 版本才2.8 与aspnet差距太大,网上找很多资料没有现成的代码. public override async Task<PagerList&l ...
随机推荐
- IOS开发中Xcode常用插件安装与管理(转)
XCode中插件管理工具:Alcatraz 转自http://www.cocoachina.com/industry/20140506/8325.html 苹果现在的成绩得益于其始终如一的坚持. ...
- UVa 11631 - Dark roads
题目大意:政府为了减小开支决定关闭一些路灯,同时保证照亮的路能连接所有路口. 又是一个MST问题,Kruskal算法,不过数据规模比较大,又Submission Error了...扔这吧... #in ...
- Html emed 和 object
<object> 标签用于包含对象,比如图像.音频.视频.Java applets.ActiveX.PDF 以及 Flash. object 的初衷是取代 img 和 applet 元素. ...
- Failed to install *.apk on device 'emulator-5554': timeout
错误提示: Failed to install helloworld.apk on device 'emulator-5554': timeout 或者 the user data image is ...
- 330. Patching Array
Given a sorted positive integer array nums and an integer n, add/patch elements to the array such th ...
- JavaScript定时机制、以及浏览器渲染机制 浅谈
昨晚,朋友拿了一道题问我: a.onclick = function(){ setTimeout(function() { //do something ... },0); }; JavaScript ...
- iOS 程序开发
准备 iOS 开发 之 编程知识点 iOS 程序调试 iOS 之 OC开发实战 iOS 架构模式 iOS 之 新功能.扩展
- Android测试点
记录下之前项目测试中涉及到的Android测试点: 1.APP基本功能 按照back log整理测试用例,测试中发现有需求变动.或未考虑完全,及时更新测试用例. 测试用例包括:全功能点用例+重点功能快 ...
- 字符集 ISO-8859-1(2)
HTML 支持的数学符号 结果 描述 实体名称 实体编号 ∀ for all ∀ ∀ ∂ part ∂ ∂ ∃ exists &exists; ∃ ∅ empty ∅ ∅ ∇ nabla ∇ ...
- Stanford机器学习课程之一——引言
Andrew Ng的Machine Learning课程,在网易公开课上有中文版视频http://v.163.com/special/opencourse/machinelearning.html,六 ...