天天看點

查詢(關鍵字查詢,多條件查詢)

一、關鍵字查詢

(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,兩個都為空就是差所有的

查詢(關鍵字查詢,多條件查詢)