php按條件查詢的實(shí)現(xiàn)方法:首先調(diào)取之前封裝好的類;然后利用關(guān)鍵詞模糊查詢;接著創(chuàng)建表單,將數(shù)據(jù)提交到當(dāng)前頁面,提取關(guān)鍵字查詢;最后用PHP代碼遍歷表中元素,將關(guān)鍵字變?yōu)榧t色即可。
推薦:《PHP視頻教程》
一、單條件查詢,就是只有一個(gè)條件的查詢:
1.首先調(diào)取之前封裝好的類,然后利用關(guān)鍵詞模糊查詢:
<?php //單查詢 require "DBDA.class.php";//調(diào)取封裝類 $db=new DBDA; $Sname="";//創(chuàng)建變量,為了后面可以讓Sname在表單中顯示 $sql="select * from t_student"; if(!empty($_POST["Sname"]))//確定是否存在數(shù)據(jù) { $Sname=$_POST["Sname"]; $sql="select * from t_student where Sname like '%{$Sname}%' ";//模糊查詢 } ?>
2、創(chuàng)建表單,將數(shù)據(jù)提交到當(dāng)前頁面,提取關(guān)鍵字查詢:
<form action="chaxun.php" method="post"><!--因?yàn)椴樵償?shù)據(jù)在當(dāng)前頁面,所以提交到當(dāng)前頁面--> <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、遍歷表中元素,將關(guān)鍵字變?yōu)榧t色:
<?php $arr=$db->query($sql); foreach($arr as $v) { $str = str_replace($Sname,"<span style='color:red'>{$Sname}</span>",$v[1]);//用span標(biāo)簽使關(guān)鍵字變?yōu)榧t色, echo "<tr> <td>{$str}</td> <td>{$v[2]}</td> <td>{$v[4]}</td> </tr>"; } ?>
最終結(jié)果:
二、多條件查詢:
1、先做一個(gè)表單,并創(chuàng)建表格將表顯示出來:
<table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代號</td> <td>名稱</td> <td>系列</td> <td>上市時(shí)間</td> <td>價(jià)格</td> </tr> </table>
2、調(diào)取封裝類,并創(chuàng)造相應(yīng)條件,并檢驗(yàn)數(shù)據(jù)是否為空:
<?php require "DBDA.class.php"; $db=new DBDA();//1.如果沒有提交數(shù)據(jù),顯示所有//2.如果有提交數(shù)據(jù),根據(jù)關(guān)鍵字查詢顯示$name=""; $tj1=" 1=1 "; //第一個(gè)條件,對應(yīng)名稱,要用空格隔開$tj2=" 1=1 ";//第二個(gè)條件,對應(yīng)系列,要用空格隔開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代碼遍歷數(shù)據(jù)庫的表,將關(guān)鍵字變?yōu)榧t色(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>";}?>
最終結(jié)果為: