这篇文章将为大家详细讲解有关php实现按条件查询的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
php按条件查询的实现方法:首先调取之前封装好的类;然后利用关键词模糊查询;接着创建表单,将数据提交到当前页面,提取关键字查询;最后用PHP代码遍历表中元素,将关键字变为红色即可。
一、单条件查询,就是只有一个条件的查询:
1.首先调取之前封装好的类,然后利用关键词模糊查询:
<?php //单查询
require "DBDA.class.php";//调取封装类
$db=new DBDA;
$Sname="";//创建变量,为了后面可以让Sname在表单中显示
$sql="select * from t_student";
if(!empty($_POST["Sname"]))//确定是否存在数据
{
$Sname=$_POST["Sname"];
$sql="select * from t_student where Sname like '%{$Sname}%' ";//模糊查询
}
?>
2、创建表单,将数据提交到当前页面,提取关键字查询:
<form action="chaxun.php" method="post"><!--因为查询数据在当前页面,所以提交到当前页面-->
<div>姓名:<input type="text" name="Sname" value="<?php echo $Sname ?>" />
<input type="submit" value="查询" /></div>
</form><br />
<table width="100% " border="1" cellpadding="0" cellspacing="0">
<tr>
<td>姓名</td>
<td>性别</td>
<td>班级</td>
</tr>
3、遍历表中元素,将关键字变为红色:
<?php
$arr=$db->query($sql);
foreach($arr as $v)
{
$str = str_replace($Sname,"<span style='color:red'>{$Sname}</span>",$v[1]);//用span标签使关键字变为红色,
echo "<tr>
<td>{$str}</td>
<td>{$v[2]}</td>
<td>{$v[4]}</td>
</tr>";
}
?>
最终结果:
二、多条件查询:
1、先做一个表单,并创建表格将表显示出来:
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>名称</td>
<td>系列</td>
<td>上市时间</td>
<td>价格</td>
</tr>
</table>
2、调取封装类,并创造相应条件,并检验数据是否为空:
<?php
require "DBDA.class.php";
$db=new DBDA();//1.如果没有提交数据,显示所有//2.如果有提交数据,根据关键字查询显示$name="";
$tj1=" 1=1 "; //第一个条件,对应名称,要用空格隔开$tj2=" 1=1 ";//第二个条件,对应系列,要用空格隔开if(!empty($_POST["name"]))
{
$name = $_POST["name"];
$tj1 = " name like '%{$name}%' ";
}if(!empty($_POST["brand"]))
{
$brand = $_POST["brand"];
$tj2 = " brand = '{$brand}' ";
}//总条件$tj=" {$tj1}and{$tj2} ";
$sql="select * from car where".$tj;?>
3、用php代码遍历数据库的表,将关键字变为红色(php要嵌在table里):
<?php
$arr = $db->query($sql);foreach($arr as $v)
{
$str = str_replace($name,"<span style='color:red'>{$name}</span>",$v[1]);
echo "<tr>
<td>{$v[0]}</td>
<td>{$str}</td>
<td>{$v[2]}</td>
<td>{$v[3]}</td>
<td>{$v[7]}</td>
</tr>";}?>
最终结果为:
关于php实现按条件查询的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。