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. 查看SQLserver编码格式的SQL语句

    SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage') 下面是查询结果: 简体中文GBK 繁体中文BIG5 美国/ ...

  2. mysql分表的3种方法

    来源:http://blog.sina.com.cn/s/blog_640738130100tzeq.html 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死 ...

  3. python基础(八)面向对象的基本概念

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢逆水寒龙,topmad和Liqing纠错 Python使用类(class)和对 ...

  4. makefile之变量赋值

    makefile中变量赋值有4种方法: = ,   := ,  += ,  ?= = :直接赋值 变量 = 值 :=   :位置相关赋值 如果右值为一个值,那么它和=没区别,如果右值为变量,那么左边变 ...

  5. Visual Studio SetSite failed for package [JavaScriptWebExtensionsPackage] 错误解决方案一则

    安装 AspNet5.ENU.RC1.exe Microsoft ASP.NET and Web Tools 2015 (RC) – Visual Studio 2015 打开VS后发生了错误 < ...

  6. Redis学习总结

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API,其实当前最热门的NoSQL数据库之一,NoSQL还包括了Mem ...

  7. 如何用python在Windows系统下,生成UNIX格式文件

    平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮嘱我:“文件中凡是遇到换行,换行符必须是UNIX下的LF,而不是 ...

  8. Spring多种注入方式及注解实现DI

    一.Bean作用域 spring容器创建的时候,会将所有配置的bean对象创建出来,默认bean都是单例的.代码通过getBean()方法从容器获取指定的bean实例,容器首先会调用Bean类的无参构 ...

  9. 2016的ChinaJoy沦为ChinaVR?

    China Joy已沦为ChinaVR,厂商烧钱参加? 在上海超过40度的高温天下,游戏爱好者们汗流满面地排起长队,拥挤地通过安检进入场馆,但是很快感受到了一丝凉意. ShowGirl少了 " ...

  10. BZOJ1856[SCOI2010]字符串

    Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数.现在lxhgw ...