PHP多条件查询 (租房查询)

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2 <html xmlns="http://www.w3.org/1999/xhtml">
  3 <head>
  4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5 <title>无标题文档</title>
  6 </head>
  7
  8 <body>
  9 <?php
 10
 11 $db = new MySQLi("localhost","root","123","housedb");
 12
 13 $tj1 = " 1=1 ";
 14 $tj2 = " 1=1 ";
 15 $tj3 = " 1=1 ";
 16 $tj4 = " 1=1 ";
 17
 18 //区域的条件
 19 if(!empty($_POST["qx"]) && count($_POST["qx"])>0)
 20 {
 21     //$tj1 = "";
 22     $qx = $_POST["qx"];
 23     //code in(‘类型‘,‘数量‘,‘都好久‘,‘队伍‘,‘额‘)
 24     $str = implode("‘,‘",$qx);
 25
 26     $tj1 = " area in(‘{$str}‘) ";
 27 }
 28 //租赁类型的条件
 29 if(!empty($_POST["zl"]) && count($_POST["zl"])>0)
 30 {
 31     //$tj1 = "";
 32     $zl = $_POST["zl"];
 33     //code in(‘类型‘,‘数量‘,‘都好久‘,‘队伍‘,‘额‘)
 34     $str = implode("‘,‘",$zl);
 35
 36     $tj2 = " renttype in(‘{$str}‘) ";
 37 }
 38 //房屋类型的条件
 39 if(!empty($_POST["fw"]) && count($_POST["fw"])>0)
 40 {
 41     //$tj1 = "";
 42     $fw = $_POST["fw"];
 43     //code in(‘类型‘,‘数量‘,‘都好久‘,‘队伍‘,‘额‘)
 44     $str = implode("‘,‘",$fw);
 45
 46     $tj3 = " housetype in(‘{$str}‘) ";
 47 }
 48 //关键字的条件
 49 if(!empty($_POST["key"]))
 50 {
 51     $key = $_POST["key"];
 52     $tj4 = " keyword like ‘%{$key}%‘ ";
 53 }
 54
 55 ?>
 56
 57 <h1>租房子</h1>
 58
 59 <form action="test.php" method="post">
 60
 61 <div>区域:<input type="checkbox" onclick="checkall(this)" />全选</div>
 62 <div>
 63     <?php
 64     $sqlq = "select distinct area from house";
 65     $rq = $db->query($sqlq);
 66     $aq = $rq->fetch_all();
 67     foreach($aq as $v)
 68     {
 69         echo "<input type=‘checkbox‘ name=‘qx[]‘ value=‘{$v[0]}‘ class=‘qxlist‘ />{$v[0]} ";
 70     }
 71     ?>
 72 </div>
 73 <br />
 74 <div>租赁类型:<input type="checkbox" />全选</div>
 75 <div>
 76     <?php
 77     $sqlz = "select distinct renttype from house";
 78     $rz = $db->query($sqlz);
 79     $az = $rz->fetch_all();
 80     foreach($az as $v)
 81     {
 82         echo "<input type=‘checkbox‘ name=‘zl[]‘ value=‘{$v[0]}‘ />{$v[0]} ";
 83     }
 84     ?>
 85 </div>
 86 <br />
 87 <div>房屋类型:<input type="checkbox" />全选</div>
 88 <div>
 89     <?php
 90     $sqlf = "select distinct housetype from house";
 91     $rf = $db->query($sqlf);
 92     $af = $rf->fetch_all();
 93     foreach($af as $v)
 94     {
 95         echo "<input type=‘checkbox‘ name=‘fw[]‘ value=‘{$v[0]}‘ />{$v[0]} ";
 96     }
 97     ?>
 98 </div>
 99 <br />
100 <div>关键字:<input type="text" name="key" />
101 <input type="submit" value="查询" />
102 </div>
103 <br />
104
105 </form>
106 <table width="100%" border="1" cellpadding="0" cellspacing="0">
107     <tr>
108         <td>关键字</td>
109         <td>区域</td>
110         <td>面积</td>
111         <td>租金</td>
112         <td>租赁类型</td>
113         <td>房屋类型</td>
114     </tr>
115     <?php
116
117     $sqlall = "select * from house where {$tj1} and {$tj2} and {$tj3} and {$tj4}";
118     $rall = $db->query($sqlall);
119     $aall = $rall->fetch_all();
120     foreach($aall as $v)
121     {
122         echo "<tr>
123         <td>{$v[1]}</td>
124         <td>{$v[2]}</td>
125         <td>{$v[3]}</td>
126         <td>{$v[4]}</td>
127         <td>{$v[5]}</td>
128         <td>{$v[6]}</td>
129     </tr>";
130     }
131     ?>
132
133 </table>
134
135 <script type="text/javascript">
136
137 function checkall(a)
138 {
139     var ck = document.getElementsByClassName("qxlist");
140     //注意checked 的属性  无论题中有没有写  都有默认值  所以 可以写城下面 方式   其他   以此类推    其他的的如果  里面没有的属性(比如  a 自己定义的    需要 attribute() 属性添加)
141     if(a.checked)
142     {
143         for(var i=0;i<ck.length;i++)
144         {
145             /*ck[i].setAttribute("checked","checked");*/
146             ck[i].checked="checked";
147         }
148     }
149     else
150     {
151         for(var i=0;i<ck.length;i++)
152         {
153             /*ck[i].removeAttribute("checked");*/
154             ck[i].checked="";
155         }
156     }
157 }
158
159 </script>
160 </body>
161 </html>

时间: 2024-10-17 14:32:24

PHP多条件查询 (租房查询)的相关文章

Atitit.列表页and查询条件的最佳实践(1)------设定搜索条件and提交查询and返回json数据

Atitit.列表页and查询条件的最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1.?配置条件字段@Conditional 1 1 2. 2.?配置条件字段显示类型为[email protected](displayType?=?displayType.rang,?rangStart?=?rang.start,?rangEnd?=?rang.end,op=op.range) 1 3. #----show  condition  page  list 1 4.

ORACLE因为字符集不同,进行中文条件查询,查询结果为空

在使用C#进行SQL语言或者ASP.NET进行ORACLE数据查询:当查询条件有中文存在时,因为数据服务端和客户端/本机的字符集不同,数据表存在数据,但查询不出来数据.但使用连接Oracle工具相同的字符串可进行数据查询.查询条件中文以'???'出现. SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL ORDER BY last_load_time DESC该语句是进行ORACLE执行SQL语句

【2017-03-10】T-sql基础语句及条件,高级查询

一.T-sql基础语句 1.创建数据库:create database 数据库名  (不能中文,不能数字开头,不能符号开头) 2.删除数据库:drop database 数据库名 3.选择数据库:use 数据库名 4.创建表:create table 表名 ( 列名  数据类型, 列名  数据类型, 列名  数据类型 设置主键列:primary key 设置唯一列:unique 设置非空:not null 设置自增列:identity(1,1)   -从1开始计数,每次自增1 ) 5.删除表:d

ThinkPhp框架:有条件的数据库查询、tp框架的其他知识

上一篇的随笔写的是基本操作,现在可以做一些高级操作,例如有条件的查询数据,有分页的条件查询数据 一.一个条件的查询数据 查询数据自然是先要显示出数据,然后根据条件进行查询数据 (1)显示出表的数据 这个方法我还是写在了HomeController.class控制器文件中 (1.1)写了一个方法shouye() public function shouye() { $n = M("nation"); //数据库中的表 $arr = $n->select(); //查询表中的所有数据

数据库中的T-sql语句 条件修改 高级查询

1.创建数据库:create database --数据库名,不能中文,不能数字开头,不能符号开头 2.删除数据库:drop database-- 数据库名 use student--使用数据库 3.注释:一段 /* */ 一行 -- 4.创建表: create table 表名            create table 表名            (              列名 数据类型,               ...               ...           

hibernate条件查询 Criteria查询

criteria查询 的方法详解 1.获取 criteria对象 Criteria criteria = this.getSession().createCriteria(Record.class); 红色部分为实体类,此处的Record代表信息记录类 2.追加条件 criteria = criteria.add(Expression.eq("level", 1)); 红色部分 Expression.eq("",""),两个参数第一个是 实体类中

Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据

1. 1.?配置条件字段@Conditional 1 1 2. 2.?配置条件字段显示类型为[email protected](displayType?=?displayType.rang,?rangStart?=?rang.start,?rangEnd?=?rang.end,op=op.range) 1 3. #----show  condition  page  list 1 4. 提交条件查询表单by dwr 1 5. @filter  ::   set filter condition 

linq中如何实现多个条件的联合查询

目前接触处理数据这一块比较多,在处理内存中的数据源的时候我一般使用的是linq,linq使用起来像sql语句一样,用法简单,功能强大. 最近需要实现一个从两个不同的文件读取不同的数据,然后根据这两个数据的一些字段经行联合,然后把他们的结果放到一个数据源里面里啊,一般的联合查询两个数据源,都是通过一个数据源的字段和另一个数据源的字段经行匹配就可以了,如果是这样的话在linq实现和在sql里面实现其实差不多,下面是单个条件的联合查询的代码如下所示 var result1 = from l1 in l

Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询

原文:Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询 如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让编译器自动推断变量的具体类型(IQueryable<匿名类型>),并提供友好的智能提示:而且可以充分应用L2S的延迟加载特性,来进行动态查询.但如果我们希望将业务逻辑放在一个独立的层中(譬如封装在远程的WCF应用中),又希望在逻辑层应用Linq to sql,则情

序列化表单为json对象,datagrid带额外参提交一次查询 后台用Spring data JPA 实现带条件的分页查询

查询窗口中可以设置很多查询条件 表单中输入的内容转为datagrid的load方法所需的查询条件向原请求地址再次提出新的查询,将结果显示在datagrid中 转换方法看代码注释 <td colspan="2"><a id="searchBtn" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'"&g