php數據訪問之查詢關鍵字


本文根據數據庫中的car表做一個汽車查詢頁面,鞏固php查詢關鍵字操作,感興趣的小伙伴們可以參考一下

 

本文實例為大家分享了php查詢操作的實現代碼,供大家參考,具體內容如下

一、一個關鍵字查詢

主頁面:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" />
< title >汽車查詢頁面</ title >
</ head >
  
< body >
< h1 >汽車查詢頁面</ h1 >
<? php
  include("QiChe.class.php");
  $ db = new QiChe();
  //保留輸入查詢的內容
  $ cx = "" ;
  $ value = "" ;
  if(!empty($_POST["name"]))//判斷查詢內容是否為空
  {
   $name=$_POST["name"];
   $ cx = " where name like '%{$name}%'" ;//查詢的字符串
   $value=$name;
  }
?>
  
< br >
< form action = "QiChe.php" method = "post" >
< div >
請輸入查詢內容:< input type = "text" name = "name" value="<?php echo $value; ?>"/>
< input type = "submit" value = "查詢" />
</ div >
</ form >
< br />
  
< table width = "100%" border = "1" cellpadding = "0" cellspacing = "0" >
< tr >
< td >代號</ td >
< td >汽車名稱</ td >
< td >油耗</ td >
< td >功率</ td >
< td >價格</ td >
</ tr >
  
<? php
  $ sql = "select * from Car" .$cx;
  $attr=$db->query($sql);
  foreach ($attr as $v)
  {
   //使輸入查詢的關鍵字變色,處理name
   //$rp="< mark >{$value}</ mark >";
   $rp="< span style = 'color:red' >{$value}</ span >";
   $arr=str_replace($value,$rp,$v[1]);
    
   echo "< tr >
   < td >{$v[0]}</ td >
   < td >{$arr}</ td >
   < td >{$v[4]}</ td >
   < td >{$v[5]}</ td >
   < td >{$v[7]}</ td >   
   </ tr >";
  }
?>
  
</ table >
</ body >
</ html >

封裝類: 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
class QiChe
{
   public $localhost = "localhost" ; //服務器
   public $uid = "root" ; //用戶名
   public $password = "" ; //密碼
   //執行查詢語句sql方法:
   //參數的含義:$sql代表要執行的sql語句;$type代表sql語句的類型,自義0為查詢,1為其他(增刪改查);$db代表要查詢的數據庫
   public function Query( $sql , $type = "0" , $db = "mydb" )
   {
     $dbconnect = new MySQLi( $this ->localhost, $this ->uid, $this ->password, $db );
     !mysqli_connect_error() or die ( "連接失敗 !" );
     $result = $dbconnect ->query( $sql );
      
     if ( $type ==0)
     {
       return $result ->fetch_all();
     }
     else
     {
       return $result ;
     }
   }
}

運行結果:

二、多個關鍵字查詢

主頁面:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" />
< title >汽車查詢頁面</ title >
</ head >
  
< body >
< h1 >汽車查詢頁面</ h1 >
< br >
<? php
include ("./DBDA.class.php");
$ db = new DBDA();
$ cx = "" ;
$ value = "" ;
$ value1 = "" ;
$ tj1 = " 1=1" ;//條件1的判斷name
$ tj2 = " 1=1" ;//條件2的判斷brand
if(!empty($_POST["name"]))
{
   $name=$_POST["name"];
   $ tj1 = "name like '%{$_POST['name']}%'" ;
   $value=$name;
    
}
if(!empty($_POST["brand"]))
{
   $name1=$_POST["brand"];
   $ tj2 = "brand= '{$_POST['brand']}'" ;
   $value1=$name1;
}
$ cx = " where $tj1 and $tj2" ;//查詢字符串
?>
  
< form action = "ChaXun1.php" method = "post" >
< div >
請輸入名稱:< input type = "text" name = "name" value="<?php echo $value; ?>"/>
系列:< input type = "text" name = "brand" value="<?php echo $value1; ?>">
< input type = "submit" name = "" value = "查詢" >
  
</ div >
</ form >
< 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" .$cx;
$attr=$db->Query($sql);
foreach ($attr as $v)
{
    
   //處理name
   //$rp="< mark >{$value}</ mark >";
   $rp="< span style = 'color:red' >{$value}</ span >";
   $str=str_replace($value,$rp,$v[1]);
   echo "< tr >
   < td >{$v[0]}</ td >
   < td >{$str}</ td >
   < td >{$v[2]}</ td >
   < td >{$v[7]}</ td >
   < td >{$v[4]}</ td >
   < td >{$v[5]}</ td
   </ tr >";
   }
?>
</ table >
  
</ body >
</ html >

運行結果:


免責聲明!

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



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