平常我們在開發系統時,一定不會缺少查詢弁?然而往往算個條件是無法滿足用戶的要求的,這時我們就應該設置多重條件進行組合,讓用戶查詢時以更加方便地選擇查詢條件,迅速找到他們所滿足的記錄.
現在我們假設開發一個鐘表公司的客戶訂單系統,有客戶訂單編號,類別,名稱,數量,价格等資料,這里就不將資料一一列擊,.訂單表如下:
訂單編號(ID) 類別(TYPE)名稱(NAME)數量(QTY) 价格(PRICE)
001 机芯 机芯1 100 150
001 表殼 表殼1 1000 60
001 表帶 表帶1 500 70
002 机芯 机芯2 200 40
002 表殼 表殼2 300 53
002表帶 表帶2 400 46
現在我們設想要建一個查詢系統,讓用戶即可根据訂單編號,也可根据類別,或者根据价格,或者其中的各自組合來實現快速查詢,代號如下:
下面此部分是顯示查詢條件的窗体
1<html>
2<?
3$linkstr=mysql_connect("localhost","root","sa");
4mysql_select_db("cx",$linkstr);
5?>
6<script language="JavaScript">
7function variable()
8{
9if (document.search.select1.value!="1")
10{
11if (document.search.no.value=="")
12{
13window.alert("請輸入訂單號碼!");
14return false;
15}
16else
17{
18if (document.search.type.value=="")
19{
20window.alert("請選擇配件類別!");
21return false;
22}
23}
24}
25else
26{
27if (document.search.select2.value!="1")
28{
29if (document.search.price.value=="")
30{
31window.alert("請輸入价格!");
32return false;
33}
34}
35}
36}
37</script>
38<br/>
39<center><font size="5"><b>多重條件組合查詢</b></font></center>
40<br/>
41<body>
42<form action="searchjg.php" method="POST" name="search" onsubmit="return variable(this.value)">
43<table align="center" border="1" width="400">
44<tr>
45<td align="left" width="100">訂單編號</td>
46<td align="left" width="300"><input name="no" type="text"/></td>
47</tr>
48<tr>
49<td align="left" width="200">
50<select name="select1">
51<option selected="" value="1">
52<option value="2">或者
53<option value="3">而且
54</option></option></option></select>類別為
55</td>
56<td align="left" width="200">
57<select name="type">
58<option selected="">
59<?
60$querystring="select distinct type from orders ";
61$result=mysql_query($querystring,$linkstr);
62while (list($type)=mysql_fetch_row($result))
63{
64echo "<option value="$type">".$type;
65}
66?>
67</option></select>
68</td></tr>
69<tr>
70<td>
71<select name="select2">
72<option selected="" value="1">
73<option value="2">或者
74<option value="3">而且
75</option></option></option></select>价格位在
76</td>
77<td><select name="price">
78<option selected="">
79<option value="1">50以下
80<option value="2">50~200?
81<option value="3">200以上
82</option></option></option></option></select>的配件
83</td>
84</tr>
85<table align="right" width="400">
86<tr>
87<td>
88<input name="submit" type="submit" value="開始查詢"/>
89</td>
90</tr>
91</table>
92</table>
93</form>
94</body>
95</html>