10月30日下午 PHP精确查询(模糊查询、模糊+关键字共同查询)
1.一个条件的模糊查询
<body>
<br />
<form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
<div>姓名:
<input type="text" name="xm" /><!--输入查询的关键字-->
<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>
<td>操作</td>
</tr>
<?php
//先判断有没有提交值
$xm="";
if(!empty($_POST["xm"]))//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
{
$xm = $_POST["xm"];//把输入的值取出来
}
$tj = "";//定义一个变量条件(tj)
if($xm == "")//如果值为空
{
$tj = " 1=1 ";//如果值为空,就给条件赋一个恒成立的1=1.根据这个条件能查询出所有的数据。
}
else
{
$tj = " name like '%{$xm}%' ";//如果值不为空,就给$tj赋上输入输入的值。
} 上面带行号的代码可以简化为下面的带行号的
$xm="";
if(!empty($_POST["xm"]))//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
{
$xm = $_POST["xm"];//把输入的值取出来
}
$tj = " 1=1 ";//让$tj值默认1=1,
if($xm != "")
{
$tj = " name like '%{$xm}%' ";//如果值不为空,就给$tj赋上输入输入的值。
} 或者更加简化
$tj = " 1=1 ";
if(!empty($_POST["xm"]) && $_POST["xm"]!="")//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
{
$tj = " name like '%{$_POST['xm']}%' ";
} $db = new MySQLi("localhost","root","666","text1"); $sql = "select * from info where ".$tj;//把条件拼在查询语句后面,并加上where。 $result = $db->query($sql); $attr = $result->fetch_all(); foreach($attr as $v)
{
echo"<tr>"; $sex = $v[2]?"男":"女"; $name = NationName($v[3]); echo"<td>{$v[0]}</td><td>{$v[1]}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick=\"return confirm('确定删除吗?')\">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
/*foreach($v as $v1)
{
echo "<td>{$v1}</td>";
}*/
echo"</tr>";
} function NationName($code)
{
$db = new MySQLi("localhost","root","666","text1");
$sql = "select name from nation where code = '{$code}'";
$result = $db->query($sql);
$attr = $result->fetch_row();
return $attr[0];
}
?>
</table>
<a href="add.php"><input type="button" value="添加数据" /></a>
</body>
下面让查询到的关键字变颜色,用<mark>标签
<body>
<br />
<form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
<div>姓名:
<input type="text" name="xm" /><!--输入查询的关键字-->
<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>
<td>操作</td>
</tr>
<?php
//先判断有没有提交值
$xxm = "";//定义要关键字变量
$tj = " 1=1 ";
if(!empty($_POST["xm"]) && $_POST["xm"]!="")//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
{
$xxm = $_POST['xm'];//提取关键字
$tj = " name like '%{$_POST['xm']}%' ";
} $db = new MySQLi("localhost","root","666","text1"); $sql = "select * from info where ".$tj;//把条件拼在查询语句后面,并加上where。 $result = $db->query($sql); $attr = $result->fetch_all(); foreach($attr as $v)
{
echo"<tr>"; $sex = $v[2]?"男":"女"; $name = NationName($v[3]); $newname = str_replace($xxm,"<mark>{$xxm}</mark>",$v[1]);//替换关键字,用$newname替换原来的$v[2] echo"<td>{$v[0]}</td><td>{$newname}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick=\"return confirm('确定删除吗?')\">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
/*foreach($v as $v1)
{
echo "<td>{$v1}</td>";
}*/
echo"</tr>";
} function NationName($code)
{
$db = new MySQLi("localhost","root","666","text1");
$sql = "select name from nation where code = '{$code}'";
$result = $db->query($sql);
$attr = $result->fetch_row();
return $attr[0];
}
?>
</table>
<a href="add.php"><input type="button" value="添加数据" /></a>
</body>
2.两个条件查询,模糊查询加关键字查询。
<body>
<br />
<form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
<div>姓名:
<input type="text" name="xm" /><!--输入查询的关键字-->
民族代号:
<input type="text" name="mz" />
<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>
<td>操作</td>
</tr>
<?php
//先判断有没有提交值
$xxm = "";
$tj = " 1=1 ";
$tj2 = " 1=1 ";//再做一个条件
if(!empty($_POST["xm"]) && $_POST["xm"]!="")//这个条件是判断xm的,判断模糊查询。
{
$xxm = $_POST['xm'];
$tj = " name like '%{$_POST['xm']}%' ";
} if(!empty($_POST["mz"]) && $_POST["mz"]!="")//再做一个条件判断另一个条件
{
$mz = $_POST['mz'];//取民族的代号
$tj2 = " nation = '{$_POST['mz']}' ";
} $db = new MySQLi("localhost","root","666","text1"); $sql = "select * from info where ".$tj." and ".$tj2; $result = $db->query($sql); $attr = $result->fetch_all(); foreach($attr as $v)
{
echo"<tr>"; $sex = $v[2]?"男":"女"; $name = NationName($v[3]); $newname = str_replace($xxm,"<mark>{$xxm}</mark>",$v[1]);//替换关键字 echo"<td>{$v[0]}</td><td>{$newname}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick=\"return confirm('确定删除吗?')\">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
/*foreach($v as $v1)
{
echo "<td>{$v1}</td>";
}*/
echo"</tr>";
} function NationName($code)
{
$db = new MySQLi("localhost","root","666","text1");
$sql = "select name from nation where code = '{$code}'";
$result = $db->query($sql);
$attr = $result->fetch_row();
return $attr[0];
}
?>
</table>
<a href="add.php"><input type="button" value="添加数据" /></a>
</body>
查询后模糊查询的关键字依然存在
<body>
<?php
//先判断有没有提交值
$xxm = "";
$tj = " 1=1 ";
$tj2 = " 1=1 ";//再做一个条件
if(!empty($_POST["xm"]) && $_POST["xm"]!="")//这个条件是判断xm的,判断模糊查询。
{
$xxm = $_POST['xm'];
$tj = " name like '%{$_POST['xm']}%' ";
} if(!empty($_POST["mz"]) && $_POST["mz"]!="")//再做一个条件判断另一个条件
{
$mz = $_POST['mz'];//取民族的代号
$tj2 = " nation = '{$_POST['mz']}' ";
}
?> <br />
<form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
<div>姓名:
<input type="text" name="xm" value="<?php echo $xxm ?>" /><!--输入查询的关键字-->
民族代号:
<input type="text" name="mz" />
<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>
<td>操作</td>
</tr>
<?php
$db = new MySQLi("localhost","root","666","text1");
$sql = "select * from info where ".$tj." and ".$tj2;
$result = $db->query($sql);
$attr = $result->fetch_all();
foreach($attr as $v)
{
echo"<tr>";
$sex = $v[2]?"男":"女";
$name = NationName($v[3]);
$newname = str_replace($xxm,"<mark>{$xxm}</mark>",$v[1]);//替换关键字
echo"<td>{$v[0]}</td><td>{$newname}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick=\"return confirm('确定删除吗?')\">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
/*foreach($v as $v1)
{
echo "<td>{$v1}</td>";
}*/
echo"</tr>";
}
function NationName($code)
{
$db = new MySQLi("localhost","root","666","text1");
$sql = "select name from nation where code = '{$code}'";
$result = $db->query($sql);
$attr = $result->fetch_row();
return $attr[0];
}
?>
</table>
<a href="add.php"><input type="button" value="添加数据" /></a>
</body>
10月30日下午 PHP精确查询(模糊查询、模糊+关键字共同查询)的更多相关文章
- 2016年10月30日 星期日 --出埃及记 Exodus 19:15
2016年10月30日 星期日 --出埃及记 Exodus 19:15 Then he said to the people, "Prepare yourselves for the thi ...
- 10 月 30 日新款 Mac mini 有望与新款 iPad Pro 一起发布
苹果最新款的 Mac mini 是在 2014 年 10 月推出的版本,到现在已经过了 4 年.分析师郭明錤和彭博社的 Mark Gurman 都表示苹果会在今年晚些时候发布新款 Mac mini. ...
- 10 月 30 日 北京 LiveVideoStack 阿里云视频云专场限量赠票 100 张
10 月 30 日 | 北京 LiveVideoStack 将携手阿里云共邀 4 位技术大咖,一同探讨从上云到创新,视频云的新技术与新场景.阿里云视频云依托阿里云服务数百万开发者的卓越服务能力与实践, ...
- 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)
1.MySQL注释语法--,# 2.2.后缀是.sql的文件是数据库查询文件. 3.保存查询. 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了).保存以后下次 ...
- 10月17日下午MySQl数据库CRUD高级查询
高级查询:1.连接查询 #适用于有外键关系的 没有任何关系没法用select * from Info,Nation #同时查询这俩表并把两表每个数据相互组合,形成笛卡尔积 select * from ...
- 10月28日下午MySQL数据库的增加、删除、查询(匹配数据库登录和可以增、删、查的显示数据库内容的页面))
一.匹配数据库登录 步骤: 1.做一个普通的登录界面,注意提交方式为post. <!--登录界面--> <form action="chuli.php" meth ...
- 10月30日上午MySQL数据库的修改(从网页上实现对数据库的更改)
从网页页面上对数据库进行更改,连接着之前做的增加.删除.查询. 1.先做一个修改页面 <body> <!--这个页面需要让用户看到一些数据,所以不是一个纯php页面,页面效果和增加页 ...
- 10月24日下午PHP封装
class Ren { private $name; private $sex; private $age;//年龄必须在18-50岁之间 function __construct($n) { $th ...
- 10月21日下午PHP常用函数
函数四要素:返回类型 函数名 参数列表 函数体 //最简单的函数定义方式 function Show() { echo "hello"; } Show();//输出结果为he ...
随机推荐
- spring quartz定时任务
配置quartz 在spring中需要三个jar包: quartz-1.8.5.jar.commons-collections-3.2.1.jar.commons-logging-1.1.jar 首先 ...
- MyEclipse中没有自动提示如何设置
步骤: window->Preferences->Java->Editor->Content Assist->Advanced 将该页面上的所有的未打上勾的选项都勾上就可 ...
- Java日志框架:SLF4J,Common-Logging,Log4J,Logback说明
Log4j Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等 ...
- Sublime Text 3
Sublime Text 3 插件安装 安装 Package Control 按 Ctrl+` 或者,菜单 View > Show Console 打开命令窗口 import urllib.re ...
- UVA11021 Tribles[离散概率 DP]
UVA - 11021 Tribles GRAVITATION, n. “The tendency of all bodies to approach one another with a stren ...
- [备份]破解Xamarin
[转]试用了一阵子Mono For Android,今天到期了,,囊中羞涩,只好破解. 说是要在vs2013的英文界面下运行破解包,不知道是真是假,下载并安装了一个. 然后又下载了破解包.是个名为xa ...
- java之多线程 一
概述: 几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程. 进程与线程: 进程是指处于运 ...
- git clone Linux 源码并切换TAG
想从github上下载一个特定TAG分支来查看代码,按照先git clone后git checkout的方式,提示说有文件没有提交.因为只查看不编译运行,所以这些关系不大的文件采取删除或者重新命名后提 ...
- Learning Roadmap of Robotic Operating System (ROS)
ROS Wiki: http://wiki.ros.org/ Robots Using ROS Textbooks: A Gentle Introduction to ROS Learning ROS ...
- oracle如何清空一个用户下的所有表中的数据?
-- 大概 这个样子,如果没有 FK 的话,一下子就都删掉了. begin for x in (select table_name from user_tables) loop execute imm ...