视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
php如何实现按条件查询
2020-11-02 18:02:13 责编:小采
文档


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>";}?>

最终结果为:

下载本文
显示全文
专题