close
文章出處
首先在數據庫中,做這樣一張汽車表:
然后寫代碼,在頁面中導出這張表
再在上面加個文本框還有查詢按鈕
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> </head> <body> <h1>汽車查詢</h1> <?php $db = new MySQLi("localhost","root","726","shuang" ); $tj = " 1=1"; //條件默認恒成立 $name = ""; if(!empty($_POST["name"])) { $name = $_POST["name"]; $tj = " name like '%{$name}%'"; } ?> <form action="carchaxun.php" method="post"> <div>請輸入名稱: <input type="text" name="name" /> <input type="submit" value="查詢" /> </div> <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 $sql = "select * from car where {$tj}"; echo $sql; $relsult = $db->query($sql); $attr=$relsult->fetch_all(); foreach($attr as $v) { //"<span style='color:red'>{$name}</span>" 這個方式也可以,讓字體變紅 $str=str_replace($name,"<mark>{$name}</mark>",$v[1]); mark可以用于標記 echo "<tr> <td>{$v[0]}</td> <td>{$str}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> <td>{$v[5]}</td> </tr>"; } ?> </table> </body> </html>
運行后:
輸入關鍵字“奧迪”
單條件查詢就做好了
下面再來新建一個頁面,做多條件查詢
先復制單條件查詢頁面的代碼,在它的條件上增加,改變
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> </head> <body> <h1>汽車查詢</h1> <?php $db = new MySQLi("localhost","root","726","shuang" ); $tj1 = "1=1"; $tj2 = "1=1"; $name = ""; if(!empty($_POST["name"])) { $name = $_POST["name"]; $tj1 = "name like '%{$name}%'"; } if(!empty($_POST["brand"])) { $brand = $_POST["brand"]; $tj2 = " brand = '{$brand}'"; } ?> <form action="carduotiaojian.php" method="post"> <div>請輸入名稱: <input type="text" name="name" /> 請輸入系列代號: <input type="text" name="brand" /> <input type="submit" value="查詢" /> </div> <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 $sql = "select * from car where {$tj1} and {$tj2}"; echo $sql; $relsult = $db->query($sql); $attr=$relsult->fetch_all(); if(count ($attr)>0) //判斷有沒有輸出數據 { foreach($attr as $v) { //"<span style='color:red'>{$name}</span>" 這個方式也可以,讓字體變紅 $str=str_replace($name,"<mark>{$name}</mark>",$v[1]); echo "<tr> <td>{$v[0]}</td> <td>{$str}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> <td>{$v[5]}</td> </tr>"; } } else { echo "<script> alert ('沒有查到數據');</script>"; } ?> </table> </body> </html>
在這里又多加了一個查詢條件,有幾個查詢條件,就加幾個if
這里有兩個
如果兩個文本只填一個的話也是可以的,如果輸入名稱“寶馬” 系列號“b004”
如果兩個都不填,然后查詢,返回的還是默認全部的值
如果隨便填一個沒有的值,則會彈出對話框:
要注意返回的地址是否正確,不然就不會運行成功
![]() |
不含病毒。www.avast.com |
全站熱搜