推荐:《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、调取封装类,并创造相应条件,并检验数据是否为空:
<?phprequire "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如何实现按条件查询的详细内容。