php單條件查詢,關鍵字查詢


 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title></title>
 6 </head>
 7 
 8 <body>
 9 <h1>查詢汽車頁面</h1>
10 <!--根據一個關鍵字來查到所有的結果-->
11 <div>請輸入名稱:
12 <input type="text" name="name" /><!--輸入框-->
13 <input type="submit" value="查詢" /><!--查詢按鈕-->
14 </div>
15 <dr>
16 
17 
18 <table width="100%" border="1" cellpadding="0" cellspacing="0">
19     <tr>
20         <td>代號</td>
21         <td>名稱</td>
22         <td>系列</td>
23         <td>時間</td>
24         <td>油耗</td>
25         <td>功率</td>
26     </tr>
27    <!-- 嵌入PHP讀數據庫
28     第一步-->
29     <?php
30     //造鏈接對象
31     $db = new MySQLi("localhost","root","511108","text");
32     //寫SQL語句
33     $sql = "select * from car";
34     //執行
35     $result = $db->query($sql);
36     //讀取數據
37     $attr = $result->fetch_all();//返回的值用$attr存,得個二維數組,用foreach循環
38     //foreach循環便利顯示
39     foreach($attr as $v)
40     {
41         echo "<tr>
42         <td>{$v[0]}</td>
43         <td>{$v[1]}</td>
44         <td>{$v[2]}</td>
45         <td>{$v[3]}</td>
46         <td>{$v[4]}</td>
47         <td>{$v[5]}</td>
48     </tr>";    
49     }
50     
51     
52     
53     ?>
54 
55 
56 
57 
58 </table>
59 
60 </body>
61 </html>
下圖是效果圖

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title></title>
 6 </head>
 7 
 8 <body>
 9 <h1>查詢汽車頁面</h1>
10 
11 <?php
12 //造鏈接對象。取出用戶傳的值
13     $db = new MySQLi("localhost","root","511108","text");
14 //1先定個$name = "";變量
15 //$name = $_POST["name"];//取name的值
16 $name = "";
17 if(!empty($_POST["name"]))//取name //加上一個嘆號!如果name里面為非空就近下面
18 {
19     $name = $_POST["name"];    
20 }
21 $tj = " name like'%{$name}%'";//如果第一次查詢$name是空的,就默認表里所有數據,如果$name里面有值比如寶馬就會把所有帶有寶馬的找出來
22 
23 
24 
25 
26 ?>
27 
28 
29 <form action="chaxunqiche.php" method="post"><!--指向當前頁面並且用post方式傳一個值-->
30 <!--根據一個關鍵字來查到所有的結果-->
31 <div>請輸入名稱:
32 <input type="text" name="name" /><!--輸入框.表單元素文本框-->
33 <input type="submit" value="查詢" /><!--查詢按鈕-->
34 </div>
35 <dr>
36 
37 
38 <table width="100%" border="1" cellpadding="0" cellspacing="0">
39     <tr>
40         <td>代號</td>
41         <td>名稱</td>
42         <td>系列</td>
43         <td>時間</td>
44         <td>油耗</td>
45         <td>功率</td>
46     </tr>
47    <!-- 嵌入PHP讀數據庫
48     第一步-->
49     <?php
50     //造鏈接對象
51     //$db = new MySQLi("localhost","root","511108","text");移到上面了是一樣的
52     //寫SQL語句
53     $sql = "select * from car where {$tj}";//拼成一個完整的SQL語句
54     echo $sql;//輸出下SQL語句
55     //執行
56     $result = $db->query($sql);
57     //讀取數據
58     $attr = $result->fetch_all();//返回的值用$attr存,得個二維數組,用foreach循環
59     //foreach循環便利顯示
60     foreach($attr as $v)
61     {
62         echo "<tr>
63         <td>{$v[0]}</td>
64         <td>{$v[1]}</td>
65         <td>{$v[2]}</td>
66         <td>{$v[3]}</td>
67         <td>{$v[4]}</td>
68         <td>{$v[5]}</td>
69     </tr>";    
70     }
71     
72     
73     
74     ?>
75 
76 
77 
78 
79 </table>
80 
81 </body>
82 </html>
下圖要查詢的數據,因為沒有傳過來的值所以$name是空字符串,拼接%%沒有
其實就是輸出的select * from car where name like'%%'這句話
空的就返回全部

查詢里:輸入奧迪如下圖

以上是單條件查詢。有缺陷

讓關鍵字奧迪變色

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title></title>
 6 </head>
 7 
 8 <body>
 9 <h1>查詢汽車頁面</h1>
10 
11 <?php
12 //造鏈接對象。取出用戶傳的值
13     $db = new MySQLi("localhost","root","511108","text");
14 //1先定個$name = "";變量
15 //$name = $_POST["name"];//取name的值
16 $tj = "  1=1 ";//條件默認恆成立,在去下面判斷下,如果傳值就進if  //暫時不用他換前面的$name = "";
17 $name = "";//把他定義在這僅僅是去給他改值,這樣這個頁面都能訪問到
18 
19 if(!empty($_POST["name"]))//取name //加上一個嘆號!如果name里面為非空就近下面
20 {
21     $name = $_POST["name"];//把這個變量定義在哪個花狐號{}里面他就在哪里起作用,出去就找不到,不能用了
22     $tj = " name like '%{$name}%' ";    
23 }
24 $tj = " name like'%{$name}%'";//如果第一次查詢$name是空的,就默認表里所有數據,如果$name里面有值比如寶馬就會把所有帶有寶馬的找出來
25 
26 
27 ?>
28 
29 
30 <form action="chaxunqiche.php" method="post"><!--指向當前頁面並且用post方式傳一個值-->
31 <!--根據一個關鍵字來查到所有的結果-->
32 <div>請輸入名稱:
33 <input type="text" name="name" /><!--輸入框.表單元素文本框-->
34 <input type="submit" value="查詢" /><!--查詢按鈕-->
35 </div>
36 <dr>
37 
38 
39 <table width="100%" border="1" cellpadding="0" cellspacing="0">
40     <tr>
41         <td>代號</td>
42         <td>名稱</td>
43         <td>系列</td>
44         <td>時間</td>
45         <td>油耗</td>
46         <td>功率</td>
47     </tr>
48    <!-- 嵌入PHP讀數據庫
49     第一步-->
50     <?php
51     //造鏈接對象
52     //$db = new MySQLi("localhost","root","511108","text");移到上面了是一樣的
53     //寫SQL語句
54     $sql = "select * from car where {$tj}";//拼成一個完整的SQL語句
55     //echo $sql;//輸出下SQL語句
56     //執行
57     $result = $db->query($sql);
58     //讀取數據
59     $attr = $result->fetch_all();//返回的值用$attr存,得個二維數組,用foreach循環
60     //foreach循環便利顯示
61     foreach($attr as $v)//$attr便利下取出每個小數據$v
62     {
63         $v[1];//就是汽車名稱,將來要顯示的
64         //str_replace相當於查找替換。要查找的是關鍵字$name就是<span style='color:red'>{$name}</span>顏色替換的是$v[1]
65         //有2種方式讓關鍵字變色 ,1種,$str = str_replace($name,"<span style='color:red'>{$name}</span>",$v[1]);//替換字符串,需要3個參數 之后把它交給變量$str =  第2種方式<mark></mark>特殊處理
66         $str = str_replace($name,"<mark>{$name}</mark>",$v[1]); 
67         echo "<tr>
68         <td>{$v[0]}</td>
69         <td>{$str}</td>
70         <td>{$v[2]}</td>
71         <td>{$v[3]}</td>
72         <td>{$v[4]}</td>
73         <td>{$v[5]}</td>
74     </tr>";    
75     }
76     
77     
78     
79     ?>
80 
81 
82 
83 
84 </table>
85 
86 </body>
87 </html>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM