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. kmeans算法c语言实现,能对不同维度的数据进行聚类

    最近在苦于思考kmeans算法的MPI并行化,花了两天的时间把该算法看懂和实现了串行版. 聚类问题就是给定一个元素集合V,其中每个元素具有d个可观察属性,使用某种算法将V划分成k个子集,要求每个子集内 ...

  2. WPF 自定义进度条

    WPF设计界面过程中,有时需要设计一种可以手动滑动修改并实时显示的进度条 进度条,效果如下: 颜色.图标.节点什么的,都可以重新替换. 前端XAML代码: <UserControl x:Clas ...

  3. Mac安装Windows 10的简明教程

    每次在Mac上安装Windows都是一件非常痛苦的事情,曾经为了装Win8把整台Mac的硬盘数据都弄丢了,最后通过龟速系统恢复模式恢复了MacOSX(50M电信光纤下载了3天才把系统下载完),相信和我 ...

  4. Neutron 理解 (7): Neutron 是如何实现负载均衡器虚拟化的 [LBaaS V1 in Juno]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  5. PHP_Cli模式初涉——转载一篇

    http://www.cnblogs.com/ellisonDon/archive/2012/11/19/2777523.html http://www.cnblogs.com/ellisonDon/ ...

  6. java设计模式之状态模式

    状态模式 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类. 状态模式UML图 上下文环境(Context):它定义了客户程序需要的接口并维护一个具体状态角色的实例,将与状态相关 ...

  7. Ubuntu1604中mysql的登录问题

    自从Ubuntu 1604出来后,新安装了尝试了下,在安装到mysql的时候用root登录不了,在网上查了很多资料都没找到解决办法.后来su到系统的root后直接就可以登录mysql了,看到Ubunt ...

  8. js面向对象与原型

    创建对象 var box = new Object();//创建对象 box.name = 'Lee'; //添加属性 box.age = 100; box.run = function(){ ret ...

  9. HDU 1848 Fibonacci again and again【SG函数】

    对于Nim博弈,任何奇异局势(a,b,c)都有a^b^c=0. 延伸: 任何奇异局势(a1, a2,… an)都满足 a1^a2^…^an=0 首先定义mex(minimal excludant)运算 ...

  10. UVA - 11584 Partitioning by Palindromes[序列DP]

    UVA - 11584 Partitioning by Palindromes We say a sequence of char- acters is a palindrome if it is t ...