本文根據數據庫中的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
>
|
運行結果: