PHP实例:用PHP简单实现多条件查询

在我们的网站设计过程中,经常会用到多条件查询,本文的源码是一个二手房屋查询的例子。在本例中,我们要实现能够通过地理位置,物业类型,房屋价格,房屋面积及信息发布日期等多个条件查询到客户所需的资料。
查询文件(search.php)
一、生成查询语句:

代码
 1 <? 
 2 $conn=mysql_connect("localhost","root",""); 
 3 $db=mysql_select_db("lingyun"); 
 4 $query="select * from message where tradetype='".$tradetype."'"//交易类型,如出租,出售 
 5 $SQL=$SQL . "wuye='" . $wuye . "'"
 6 if($housetype!="不限"){ 
 7 $query.=" && housetype='".$housetype."'"//房屋类型,如二室一厅,三室二厅 
 8 
 9 if($degree!="不限"){ 
10 $query.=" && degree='".$degree."'"//新旧程度 
11 
12 if($wuye!="不限"){ 
13 $query.=" && wuye='".$wuye."'"//物业类型 如住房,商铺 
14 
15 if($price2!=""){ 
16 switch($price1){ 
17 case "大于": 
18 $query.=" && price>'".$price2."'"//价格 
19 break
20 case "等于": 
21 $query.=" && price='".$price2."'"
22 break
23 case "小于": 
24 $query.=" && price<'".$price2."'"
25 break
26 
27 
28 if($area2!=""){ 
29 switch($area1){ 
30 case "大于": 
31 $query.=" && area>'".$area2."'"//面积 
32 break
33 case "等于": 
34 $query.=" && area='".$area2."'"
35 break
36 case "小于": 
37 $query.=" && area<'".$area2."'"
38 break
39 
40 
41 switch($pubdate){ //发布日期 
42 case "本星期内": 
43 $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=7"
44 break
45 case "一个月内": 
46 $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=30"
47 break
48 case "三个月内": 
49 $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=91"
50 break
51 case "六个月内": 
52 $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=183"
53 break
54 
55 if($address!=""){ 
56 $query.=" && address like '%$address%'"//地址 
57 
58 if(!$page){ 
59 $page=1
60 
61 ?>

 

二、输出查询结果:
以下为引用的内容:

代码
 1 <?php 
 2 if ($page){ 
 3 $page_size=20
 4 $result=mysql_query($query); 
 5 #$message_count=mysql_result($result,0,"total"); 
 6 $message_count=10
 7 $page_count=ceil($message_count/$page_size); 
 8 $offset=($page-1)*$page_size
 9 $query=$query." order by date desc limit $offset$page_size"
10 $result=mysql_query($query); 
11 if($result){ 
12 $rows=mysql_num_rows($result); 
13 if($rows!=0){ 
14 while($myrow=mysql_fetch_array($result)){ 
15 echo "<tr>"
16 echo "<td width='15' height='12'><img src='image/home2.gif' width='14' height='14'></td>"
17 echo "<td width='540' height='12'>$myrow[id] $myrow[tradetype] $myrow[address] $myrow[wuye]($myrow[housetype])<font style='font-size:9pt'>[$myrow[date]]</font>"
18 echo "</td>"
19 echo "<td width='75' height='12'><a href='view_d.php?code=$myrow[code]' target='_blank'>详细内容</a></td>"
20 echo "</tr>"
21 
22 
23 else echo "<tr><td><div align='center'><img src='image/sorry.gif'><br><br>没有找到满足你条件的记录</div>& lt;/td></tr>"
24 
25 $prev_page=$page-1
26 $next_page=$page 1
27 echo "<div align='center'>"
28 echo " 第".$page."/".$page_count."页&nbsp"
29 if ($page<=1){ 
30 echo "|第一页|"
31 
32 else
33 echo "<a href='$PATH_INFO?page=1'>|第一页|</a>"
34 
35 echo " "
36 if ($prev_page<1){ 
37 echo "|上一页|"
38 
39 else
40 echo "<a href='$PATH_INFO?page=$prev_page'>|上一页|</a>"
41 
42 echo " "
43 if ($next_page>$page_count){ 
44 echo "|下一页|"
45 
46 else
47 echo "<a href='$PATH_INFO?page=$next_page'>|下一页|</a>"
48 
49 echo " "
50 if ($page>=$page_count){ 
51 echo "|最后一页|"
52 
53 else
54 echo "<a href='$PATH_INFO?page=$page_count'>|最后一页|</a>"
55 
56 echo "</div>"
57 
58 else
59 echo "<p align='center'>现在还没有房屋租赁信息!</p>"
60 
61 echo "<hr width="100%" size="1">"
62 ?> 
63 </table>

 

 

posted @ 2010-06-29 14:32  Tokyo  阅读(579)  评论(0)    收藏  举报