多条件查询题目

找房子

 

 

 1.这里首先要将大体样式给做出来

 1 <table>
 2 <tr>
 3 <td>区域:<input type="checkbox" name="qx" onclick="quanxuan(this)"  />全选</td>
 4 </tr>
 5 </table>
 6 
 7 <?php
 8 //require "DBDA.class.php";
 9 //$db=new DBDA;
10 $sql1="select distinct Area from House";
11 $arr1=$db->query($sql1);
12 foreach($arr1 as $v)
13 {
14     echo "<tr>
15     <td><input type='checkbox' name='ck[]' class='ck' value='{$v[0]}' />$v[0]</td>
16     </tr>";    
17 }
18 ?><br />
19 
20 <table>
21 <tr>
22 <td>租赁类型:<input type="checkbox" name="qx1" onclick="quanxuan1(this)" />全选</td>
23 </tr>
24 </table>
25 <?php
26 
27 $sql2="select distinct RentType from House";
28 $arr2=$db->query($sql2);
29 foreach($arr2 as $v)
30 {
31     echo "<tr>
32     <td><input type='checkbox' name='ck1[]' class='ck1' value='{$v[0]}' />$v[0]</td>
33     </tr>";    
34 }
35 ?><br />
36 
37 <table>
38 <tr>
39 <td>房屋类型:<input type="checkbox" name="qx2" onclick="quanxuan2(this)" />全选</td>
40 </tr>
41 </table>
42 
43 <?php
44 
45 $sql3="select distinct HouseType  from House";
46 $arr3=$db->query($sql3);
47 foreach($arr3 as $v)
48 {
49     echo "<tr>
50     <td><input type='checkbox' name='ck2[]' class='ck2' value='{$v[0]}' />$v[0]</td>
51     </tr>";    
52 }
53 ?>
54 
55 <div>关键字:<input type="text" name="KeyWord" value='<?php echo $KeyWord ?>' />
56 <input type="submit" value="搜索" /></div>
57 <br />
58 
59 <table width="500px" border="1" cellpadding="0" cellspacing="0">
60 <tr>
61 <td>关键字</td>
62 <td>区域</td>
63 <td>建筑面积</td>
64 <td>租金</td>
65 <td>租赁类型</td>
66 <td>房屋类型</td>
67 </tr>
68 <?php
69 
70 
71 $arr = $db->query($sql);
72 foreach($arr as $v)
73 {
74     echo "<tr>
75         <td>{$v[1]}</td>
76         <td>{$v[2]}</td>
77         <td>{$v[3]}</td>
78         <td>{$v[4]}</td>
79         <td>{$v[5]}</td>
80         <td>{$v[6]}</td>
81 </tr>";
82 }
83 
84 ?>
85 </table>

上图是效果

 

2.然后再就是查询:

 1 <form action="House.php" method="post">
 2 <?php
 3 require "DBDA.class.php";/引用封装类
 4 $db=new DBDA();
 5 $KeyWord="";
 6 $tj1=" 1 = 1 ";
 7 $tj2=" 1 = 1 ";
 8 $tj3=" 1 = 1 ";
 9 $tj4=" 1 = 1 ";
10 if(!empty($_POST["ck"]))
11 {
12     $arr = $_POST["ck"];//这里获取的是数组
13     $str = implode("','",$arr);//需要将数组给拼接成字符串
14     $tj1="Area in ('{$str}')" ;
15 }
16 if(!empty($_POST["ck1"]))
17 {
18     $arr = $_POST["ck1"];
19     $str = implode("','",$arr);
20     $tj2="RentType in ('{$str}')";
21 }
22 if(!empty($_POST["ck2"]))
23 {
24     $arr = $_POST["ck2"];
25     $str = implode("','",$arr);
26     $tj3="HouseType in ('{$str}')";
27 }
28 if(!empty($_POST["KeyWord"]))
29 {
30     $KeyWord=$_POST["KeyWord"];
31     $tj4="KeyWord like '%{$KeyWord}%'";
32 }
33 $tj="{$tj1} and {$tj2} and {$tj3} and {$tj4}";
34 $sql="select * from House where ".$tj;
35 
36 ?>

效果图:选择条件

选出来的效果:

js用来实现多选(这个地方可以用一个js来实现,但是我用了三个,用一个js来实现的话函数需要传两个值)

 1 <script type="text/javascript">
 2 function quanxuan(qx)
 3 {
 4     var ck = document.getElementsByClassName("ck");
 5     if(qx.checked)
 6     {
 7         for(var i=0;i<ck.length;i++)
 8         {
 9             ck[i].setAttribute("checked","checked");
10         }
11     }
12     else{
13             for(var i=0;i<ck.length;i++)
14             {
15             ck[i].removeAttribute("checked");
16             }
17         }        
18 }
19 
20 function quanxuan1(qx1)
21 {
22     var ck1 = document.getElementsByClassName("ck1");
23     if(qx1.checked)
24     {
25         for(var i=0;i<ck1.length;i++)
26         {
27             ck1[i].setAttribute("checked","checked");
28         }
29     }
30     else{
31             for(var i=0;i<ck1.length;i++)
32             {
33             ck1[i].removeAttribute("checked");
34             }
35         }        
36 }
37 
38 function quanxuan2(qx2)
39 {
40     var ck2 = document.getElementsByClassName("ck2");
41     if(qx2.checked)
42     {
43         for(var i=0;i<ck2.length;i++)
44         {
45             ck2[i].setAttribute("checked","checked");
46         }
47     }
48     else{
49             for(var i=0;i<ck2.length;i++)
50             {
51             ck2[i].removeAttribute("checked");
52             }
53         }        
54 }
55 </script>

 

posted @ 2017-05-04 09:56  小牛吃青草  阅读(205)  评论(0编辑  收藏  举报