首先是查詢所有,步驟不詳述,連接數據庫,查詢表中的所有信息,foreach循環以表格的形式打印出來
然后就是form表單中提交查詢的數據,這里以post方式提交到本頁面,所以要判斷post中是否有值,在判斷post中的值是否為空字符串(這兩種情況都默認用戶沒有輸入,查詢所有)默認規則:一般來說做查詢的時候:用戶不輸入任何內容就是查詢所有的
然后最重要的是拼接查詢條件
關鍵代碼:
$tj1 = " 1=1";
$tj2 = " 1=1";
$name = "";
if(!empty($_POST)){
if($_POST["name"] != ""){
$name = $_POST["name"];
$tj1 = " name like '%{$name}%'";
}
if($_POST["brand"] != ""){
$tj2 = " brand = '{$_POST['brand']}'";
}
}
$tj = " where ".$tj1." and ".$tj2;
$sql = "select * from car ".$tj;
完整實例:
<!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>
<Form action="danchaxun.php" method="post">
請輸入汽車名稱:
<input type="text" name = "name" />
請輸入汽車系列:
<input type="text" name = "brand" />
<input type="submit" value="查詢" />
</Form>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代號</td>
<td>名字</td>
<td>系列</td>
<td>出廠時間</td>
<td>油耗</td>
<td>功率</td>
</tr>
<?php
include ("DBDA.class.php");
$db = new DBDA();
$tj1 = " 1=1";
$tj2 = " 1=1";
$name = "";
if(!empty($_POST)){
if($_POST["name"] != ""){
$name = $_POST["name"];
$tj1 = " name like '%{$name}%'";
}
if($_POST["brand"] != ""){
$tj2 = " brand = '{$_POST['brand']}'";
}
}
$tj = " where ".$tj1." and ".$tj2;
$sql = "select * from car ".$tj;
$attr = $db->Query($sql);
foreach($attr as $v){
echo "
<tr>
<td>{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$v[2]}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>
<td>{$v[5]}</td>
</tr>
";
}
?>
</table>
</body>
</html>