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精确查询(模糊查询、模糊+关键字共同查询)的更多相关文章

  1. 2016年10月30日 星期日 --出埃及记 Exodus 19:15

    2016年10月30日 星期日 --出埃及记 Exodus 19:15 Then he said to the people, "Prepare yourselves for the thi ...

  2. 10 月 30 日新款 Mac mini 有望与新款 iPad Pro 一起发布

    苹果最新款的 Mac mini 是在 2014 年 10 月推出的版本,到现在已经过了 4 年.分析师郭明錤和彭博社的 Mark Gurman 都表示苹果会在今年晚些时候发布新款 Mac mini. ...

  3. 10 月 30 日 北京 LiveVideoStack 阿里云视频云专场限量赠票 100 张

    10 月 30 日 | 北京 LiveVideoStack 将携手阿里云共邀 4 位技术大咖,一同探讨从上云到创新,视频云的新技术与新场景.阿里云视频云依托阿里云服务数百万开发者的卓越服务能力与实践, ...

  4. 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)

    1.MySQL注释语法--,# 2.2.后缀是.sql的文件是数据库查询文件. 3.保存查询. 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了).保存以后下次 ...

  5. 10月17日下午MySQl数据库CRUD高级查询

    高级查询:1.连接查询 #适用于有外键关系的  没有任何关系没法用select * from Info,Nation #同时查询这俩表并把两表每个数据相互组合,形成笛卡尔积 select * from ...

  6. 10月28日下午MySQL数据库的增加、删除、查询(匹配数据库登录和可以增、删、查的显示数据库内容的页面))

    一.匹配数据库登录 步骤: 1.做一个普通的登录界面,注意提交方式为post. <!--登录界面--> <form action="chuli.php" meth ...

  7. 10月30日上午MySQL数据库的修改(从网页上实现对数据库的更改)

    从网页页面上对数据库进行更改,连接着之前做的增加.删除.查询. 1.先做一个修改页面 <body> <!--这个页面需要让用户看到一些数据,所以不是一个纯php页面,页面效果和增加页 ...

  8. 10月24日下午PHP封装

    class Ren { private $name; private $sex; private $age;//年龄必须在18-50岁之间 function __construct($n) { $th ...

  9. 10月21日下午PHP常用函数

    函数四要素:返回类型  函数名  参数列表  函数体 //最简单的函数定义方式 function Show() { echo "hello"; } Show();//输出结果为he ...

随机推荐

  1. native2ascii.exe 字符转码与反转码

    本人最近在做OAF的二次开发,在看别人写的代码时,发现总有类似这样的语句:”\u65e0\u6548\u7684GP\u9879\u76ee\u7f16\u53f7“,这些语句其实是用Java_hom ...

  2. C/C++浮点数在内存中的存储方式

    一.内存表示 任何数据在内存中都是以二进制的形式存储的,浮点数的表示是把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,数的小数点位置随比例因子的不同而在一定范围内自由浮动.如下图是3 ...

  3. Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法

    一.单元测试的目的 简单来说就是在我们增加或者改动一些代码以后对所有逻辑的一个检测,尤其是在我们后期修改后(不论是增加新功能,修改bug),都可以做到重新测试的工作.以减少我们在发布的时候出现更过甚至 ...

  4. Ubuntu 配置 no-ip

    安装Python开发依赖包 sudo apt-get install python-dev 配置PIP并安装noipy sudo apt-get install python-pip sudo pip ...

  5. monkeyrunner之电脑安装驱动(五)

    在Monkeyrunner做自动化测试时,可以使用模拟器,当然也可以选择用真机.不过,要想通过电脑来安装软件,操作手机,则必须先安装手机驱动,而且一般手机连接电脑之后,电脑会自动开始下载驱动.不过也经 ...

  6. Selenium2(WebDriver)_如何判断WebElement元素对象是否存在

    1. selenium中如果去寻找元素,而元素不存在的话,通常会抛出NoSuchElementException 导致测试失败,但有时候,我们需要去确保页面元素不存在,才是我们正确的验收条件下面的方法 ...

  7. 使用Office 365抓取PM2.5数据

    近日微软发布了Microsoft Flow,一个类似IFTTT自动化任务触发工具.例如,我们可以设置这样一个触发事件和对应的处理过程:当有人在微博上@我的时候,发一封邮件通知我:当我关注的博主有新文章 ...

  8. 电脑控制Android设备的软件——Total Control

    最早开始搞Android开发时,为了调试方便,想找一个Android下的远程控制软件,支持在电脑端远程控制和同步显示Android设备.先后试了360手机助手.Mobizen.Vysor和Mirror ...

  9. 在github上建立自己的网站

    学了前端小半年,如今写了个自己的网页想要去应聘,却发现部署很麻烦,部署到阿里云之类,买域名啊啥的还要收费,说贵也不贵,但我就是傲娇~ google一下了解到Github有一个Github pages的 ...

  10. codevs1022 覆盖[Hungary 二分图最大匹配]

    codevs1022 覆盖 有一个N×M的单位方格中,其中有些方格是水塘,其他方格是陆地.如果要用1×2的矩阵区覆盖(覆盖过程不容许有任何部分重叠)这个陆地,那么最多可以覆盖多少陆地面积. 输入描述  ...