一、關鍵字查詢
(1)查詢一張表,要把表先列出來,顯示出查詢的表
<table width="100%" cellpadding="0" cellspacing="0" border="1"> //正常的檢視表,前幾天剛學習的内容
<tr>
<td>代号</td>
<td>名稱</td>
<td>系列</td>
<td>時間</td>
<td>油耗</td>
<td>功率</td>
</tr>
<?php //檢視資料庫中的内容
$db = new MySQLi("localhost","root","123","test3");
$sql = " select * from car ";
$result = $db->query($sql);
while($attr = $result->fetch_row())
{
$str = str_replace($name,"<span style='color:red'>{$name}</span>",$attr[1]);
echo "<tr><td>{$attr[0]}</td><td>{$attr[1]}</td><td>{$attr[2]}</td><td>{$attr[3]}</td><td>{$attr[4]}</td><td>{$attr[5]}</td></tr>";
}
?>
</table>
(2)表顯示出來後,查詢要有輸入框和查詢按鈕
<form action="test12_main.php" method="post"> //查詢關鍵詞重新整理的頁面應該是本頁面,也應該是在本頁面中顯示查詢後的内容,指向的頁面就是本頁面
根據名稱查詢:<input type="text" name="name" />
<input type="submit" value="查詢" />
</form>
(3)重要的怎麼建立關鍵字查詢
利用模糊查詢來檢視,模糊查詢的關鍵字就是like(還有就是輸入的關鍵字要特殊顯示可以在周遊表中進行)
<?php
$db = new MySQLi("localhost","root","123","test3");
$tiaojian = " 1=1 "; //條件橫成立,2=2也可以,隻要恒成立就可以
$name = ""; //外面的也可以使用
if(!empty($_POST["name"])) //判斷語句:name是非空的就進入下面
{
$name = $_POST["name"];
$tiaojian = " name like '%{$name}%' "; //使用者自己輸入的查詢條件
}
?>
while($attr = $result->fetch_row())
{
$str = str_replace($name,"<span style='color:red'>{$name}</span>",$attr[1]); //關鍵字處理,用到的函數是替換str_replace
echo "<tr><td>{$attr[0]}</td><td>{$str}</td><td>{$attr[2]}</td><td>{$attr[3]}</td><td>{$attr[4]}</td><td>{$attr[5]}</td></tr>";
} //相應的在輸出的是以好是1的也要改成替換指派的$str
(4)還有就是輸入框輸入關鍵字查詢後,輸入框中的字應該還是顯示的
這樣就在文本框中的value值前嵌入php語言,輸出$name,這個其實就和設定預設值的方法一樣
根據名稱查詢:<input type="text" name="name" value="<?php echo $name ?>" />
二、多條件查詢
除了php語句之外,其他的檢視表、添加文本框都是和關鍵字查詢一樣的寫法,就不重複的書寫了。
$db = new MySQLi("localhost","root","123","test3");
$tiaojian = " 1=1 "; //條件一恒成立:恒成立也可以是2=2,隻要是恒成立就可以
$tj = " 1=1 "; //條件二恒成立
$name = "";
if(!empty($_POST["name"])) //第一個條件的判斷(用到了模糊查詢)
{
$name = $_POST["name"];
$tiaojian = " name like '%{$name}%' "; //進入判斷後就要執行自己的查詢條件,就不是恒成立的條件了
}
if(!empty($_POST["brand"])) //第二個條件判斷(正常查詢)
{
$brand = $_POST["brand"];
$tj = " brand = '{$brand}' "; //同第一個條件解釋
}
這樣:有幾個條件就做幾個條件變量,第一個條件不為空就執行的第一個if,第二個條件不為空執行的第二個if,兩個都為空就是差所有的