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
arrow
arrow
    全站熱搜

    AutoPoster 發表在 痞客邦 留言(0) 人氣()