<!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>
<?php $db = new MySQLi("localhost","root","","housedb"); $tj1 = " 1=1 ";
$tj2 = " 1=1 ";
$tj3 = " 1=1 ";
$tj4 = " 1=1 "; //区域的条件
if(!empty($_POST["qx"]) && count($_POST["qx"])>)
{
//$tj1 = "";
$qx = $_POST["qx"];
//code in('类型','数量','都好久','队伍','额')
$str = implode("','",$qx); $tj1 = " area in('{$str}') ";
}
//租赁类型的条件
if(!empty($_POST["zl"]) && count($_POST["zl"])>)
{
//$tj1 = "";
$zl = $_POST["zl"];
//code in('类型','数量','都好久','队伍','额')
$str = implode("','",$zl); $tj2 = " renttype in('{$str}') ";
}
//房屋类型的条件
if(!empty($_POST["fw"]) && count($_POST["fw"])>)
{
//$tj1 = "";
$fw = $_POST["fw"];
//code in('类型','数量','都好久','队伍','额')
$str = implode("','",$fw); $tj3 = " housetype in('{$str}') ";
}
//关键字的条件
if(!empty($_POST["key"]))
{
$key = $_POST["key"];
$tj4 = " keyword like '%{$key}%' ";
} ?> <h1>租房子</h1> <form action="test.php" method="post"> <div>区域:<input type="checkbox" onclick="checkall(this)" />全选</div>
<div>
<?php
$sqlq = "select distinct area from house";
$rq = $db->query($sqlq);
$aq = $rq->fetch_all();
foreach($aq as $v)
{
echo "<input type='checkbox' name='qx[]' value='{$v[0]}' class='qxlist' />{$v[0]} ";
}
?>
</div>
<br />
<div>租赁类型:<input type="checkbox" />全选</div>
<div>
<?php
$sqlz = "select distinct renttype from house";
$rz = $db->query($sqlz);
$az = $rz->fetch_all();
foreach($az as $v)
{
echo "<input type='checkbox' name='zl[]' value='{$v[0]}' />{$v[0]} ";
}
?>
</div>
<br />
<div>房屋类型:<input type="checkbox" />全选</div>
<div>
<?php
$sqlf = "select distinct housetype from house";
$rf = $db->query($sqlf);
$af = $rf->fetch_all();
foreach($af as $v)
{
echo "<input type='checkbox' name='fw[]' value='{$v[0]}' />{$v[0]} ";
}
?>
</div>
<br />
<div>关键字:<input type="text" name="key" />
<input type="submit" value="查询" />
</div>
<br /> </form>
<table width="100%" border="" cellpadding="" cellspacing="">
<tr>
<td>关键字</td>
<td>区域</td>
<td>面积</td>
<td>租金</td>
<td>租赁类型</td>
<td>房屋类型</td>
</tr>
<?php $sqlall = "select * from house where {$tj1} and {$tj2} and {$tj3} and {$tj4}";
$rall = $db->query($sqlall);
$aall = $rall->fetch_all();
foreach($aall as $v)
{
echo "<tr>
<td>{$v[]}</td>
<td>{$v[]}</td>
<td>{$v[]}</td>
<td>{$v[]}</td>
<td>{$v[]}</td>
<td>{$v[]}</td>
</tr>";
}
?> </table> <script type="text/javascript"> function checkall(a)
{
var ck = document.getElementsByClassName("qxlist");
//注意checked 的属性 无论题中有没有写 都有默认值 所以 可以写城下面 方式 其他 以此类推 其他的的如果 里面没有的属性(比如 a 自己定义的 需要 attribute() 属性添加)
if(a.checked)
{
for(var i=;i<ck.length;i++)
{
/*ck[i].setAttribute("checked","checked");*/
ck[i].checked="checked";
}
}
else
{
for(var i=;i<ck.length;i++)
{
/*ck[i].removeAttribute("checked");*/
ck[i].checked="";
}
}
} </script>
</body>
</html>

表单内 不需要传的值   把name 名 取消掉 就可以

 1. <form> 表单忘记 写地址和  传输方法
2.忘记写$符号
3.name名 没有加[](只有在加[]时才可以 以数组的形式传值)
接受name 名的时候 以 引号内部 不加 [] 详细见例题
4.传值 解析 最终 就是字符串拼接成 一个语句 语句要完全和 正常书写的内容一样
5. 下面练习时 出现的一个错误 引用 上4类型 查询语句中 解析出来后 where和{$tj} 解析出的内容之间没有空格 所以输出错误
6. mysql 查询语句的时候 语句写完 不能与分号之间不能留空格 <!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>
<?php
$lianjei=new MySQLi("localhost","root","123","housedb");
?>
<form action="zufangpractice.php" method="post">
<div> 地区<input type="checkbox" onclick="hh(this,'a1')" >全选</div>
<?php
$Area="select distinct Area from house";
$area1=$lianjei->query($Area);
$area2=$area1->fetch_all();
foreach($area2 as $a1)
{
echo "<input name='qx[]' type='checkbox' value='{$a1[0]}' class='a1'/>{$a1[0]}";
}
?> <div>出租类型 <input type="checkbox" onclick="hh(this,'a2')" >全选</div>
<?php
$Area="select distinct renttype from house";
$area1=$lianjei->query($Area);
$sm=$area1->fetch_all();
foreach($sm as $a2)
{
echo "<input name='rt[]' type='checkbox' value='{$a2[0]}' class='a2'/>{$a2[0]}";
}
?> <div>居住类型 <input type="checkbox" onclick="hh(this,'a3')" >全选</div>
<?php
$Area="select distinct housetype from house";
$area1=$lianjei->query($Area);
$area2=$area1->fetch_all();
foreach($area2 as $a3)
{
echo "<input name='ht[]' type='checkbox' value='{$a3[0]}' class='a3'/>{$a3[0]}";
}
?> <div > <input type="text" name="mohu"></div>
<div><input type="submit" value="查询"></div>
</form> </form>
<table width="100%" cellpadding="0" cellspacing="0" border="1">
<tr>
<td>编辑</td>
<td>删除</td>
<td>关键字</td>
<td>区域</td>
<td>建筑面积</td>
<td>租金</td>
<td>租赁类型</td>
<td>房屋类型</td>
</tr> <?php $name='';
$tj="1=1";
$tj1="1=1";
$tj2="1=1";
$tj3="1=1";
if(!empty($_POST["qx"]) && count($_POST["qx"])>0)
{
//$tj1 = "";
$qx = $_POST["qx"];
//code in('类型','数量','都好久','队伍','额')
$str = implode("','",$qx);
$tj1 = " area in('{$str}') ";
}
if(!empty($_POST["rt"]))
{
$qx = $_POST["rt"];
$str = implode("','",$qx);
$tj2 = " renttype in('{$str}') ";
}
if(!empty($_POST["ht"]))
{
$qx = $_POST["ht"];
$str = implode("','",$qx);
$tj3 = " housetype in('{$str}') ";
} if(!empty($_POST["mohu"]))
{
$name=$_POST["mohu"];
$tj=" keyword like '%{$name}%' "; }
var_dump($tj3);
$lianjie=new MySQLi('localhost','root','123','housedb');
mysqli_connect_error()?die("链接错误"):'';
$zhunbei=" select * from house where {$tj1} and {$tj2} and {$tj3} and {$tj}"; $zhixing=$lianjie->query($zhunbei);
$shuzu=$zhixing->fetch_all();
foreach($shuzu as $v)
{ $str=str_replace($name,"<mark>{$name}</mark>",$v[1]);
echo "<tr><td><a href='bianji.php?f=$v[0]'>编辑</a></td>
<td><a href='shanchu.php?f=$v[0]' onclick=\" return confirm('确定要删除么')\">删除</a></ td> <td>$str</td> <td>$v[2]</td> <td>$v[3]</td> <td>$v[4]</td> <td>$v[5]</td> <td>$v[6]</td></tr>"; } ?> </table> <body>
<script>
function hh(a,b)
{
var t=document.getElementsByClassName(b);
if(a.checked)
{ for(var i=0;i<t.length;i++)
{
t[i].checked="checked";
}
}
else
{
for(var i=0;i<t.length;i++)
{
t[i].checked="";
}
} }
</script>
</body>
</html>

自己练习及错误总结

<!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>
<div style="background-color:#F00; border-radius:100px"></div>
<body>
<div class="bbb" style="width:200px; height:50px"></div>
<form action="tp.php" method="post">
<?php
$lianjie=new MySQLi("localhost","root","","tp");
$zhunbei="select distinct name,bfs,shu from piao ";//这里不要单独取某个数据 要取* (取所有的 数据)
$zhixing = $lianjie->query($zhunbei);
$shuzu =$zhixing->fetch_all();
foreach($shuzu as $v)
{
echo
"<div style='width:300px; height:40px; '> <div style=' width:100px; height:40px; text-align:center; float:left;'><input type='checkbox' name='a[]' value='{$v[0]}'/>{$v[]}
</div> <div class='bbb' style='width:190px; height:40px; display:none ; float:right'>
<div style='width:190px; height:10px;border-radius:100px; border:1px solid blue; float:right'>
<div style='width:{$v[1]}; height:10px; background-color:#F00; border-radius:100px'></div>
</div> <div style='width:190px; height:20px; float:right'>{$v[]}<div style='width:50px; float:right'>{$v[]}票</div></div> </div> </div>"; }
?> <div><input onclick="xiaoshi()" type="submit" value="提交"><input onclick="chaxun()" type="button" value="查看"></div>
<form> </body> <?php if(!empty($_POST["a"]))
{
$h=$_POST["a"];
$f=implode("','",$h); $update=" update piao set shu=shu+1 where name in('{$f}'); "; $zhixing =$lianjie->query($update);
$sum="select shu from piao";
$zhixing2=$lianjie->query($sum);
$jieguo=$zhixing2->fetch_all();
$he=;//求和的地方这里可以用 sum()方法 sum(栏位名); 取出1个二维数组 取[0][0]
foreach($jieguo as $hh)
{ $he+=$hh[];
}
foreach($jieguo as $gg)
{ $r=$gg[]/$he;
$t= number_format($r*,);//取小数点后面2位
$updat=" update piao set bfs='{$t}%' where shu=$gg[0]; ";
$zhixing3 =$lianjie->query($updat);
}
} ?>
<script type="text/javascript">
//如果是 JS 按钮 不能是  提交按钮   一提交就刷新啊!!!!
/*怎么建立数据库 不熟练 难点是 建立一个 合适的数据库 ; 调用和填写数据 注意 数据库可以做到尽量充实 只是 小部分展示给客户 这样做起题来方便
做题中 考验数据存取 提取一个数据 和数个数据 其他的 都可以作为参数 传递 不要 思维固定 充分利用数据库
*/
function chaxun()
{
var bbb=document.getElementsByClassName("bbb");
for(var i=;i<bbb.length;i++)
{
bbb[i].style.display="block";
} }
</script> </html>

投票(不规范代表)(自己做问题及答案)稍后要用封装类封装

以下两个 代码框  对投票问题  重新写(封装类)【封装类是新知识注意看】

投票1:

<!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> <?php
include("./DBDA.class.php");
$db = new DBDA();
$attr = $_POST["xx"]; foreach($attr as $v)
{
$sql = "update diaoyanxuanxiang set numbers=numbers+1 where ids='{$v}'";
$db->Query($sql,);
} //显示结果
$sql = "select * from diaoyanxuanxiang";
$shuzu = $db->Query($sql); $szs = "select sum(numbers) from diaoyanxuanxiang";
$azs = $db->Query($szs);
$zs = $azs[][]; foreach($shuzu as $v)
{
$bfb = ($v[]/$zs)*; echo "{$v[1]}:{$v[2]}({$bfb}%)<div style='width:200px;height:10px; border:1px solid red;'><div style='background-color:green; width:{$bfb}%; height:10px'></div></div>";
} ?> </body>
</html>

jieguo.php

投票: 封装类

 <?php
class DBDA
{
public $host="localhost";
public $uid = "root";
public $pwd = "";
public $dbname = "mydb"; //成员方法
public function Query($sql,$type=)
{
$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
$r = $db->query($sql); if($type==)
{
return $r->fetch_all();
}
else
{
return $r;
}
}
}

DBDA.class.php

投票2:

 <!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>
<form action="jieguo.php" method="post">
<?php
include("./DBDA.class.php");
$db = new DBDA(); $sql = "select * from diaoyantimu"; $attr = $db->Query($sql); echo "{$attr[0][1]}<br>"; $code = $attr[][];
$sxx = "select * from diaoyanxuanxiang where timudaihao='{$code}'"; $axx = $db->Query($sxx); foreach($axx as $v)
{
echo "<input type='checkbox' value='{$v[0]}' name='xx[]' />$v[1]<br>";
} ?>
<input type="submit" value="投票" />
</form>
</body>
</html>

main.php

------------------------------------------------------------

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

  1. util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案

    ylbtech-funcation-util:  C# 复杂条件查询(sql 复杂条件查询)查询解决方案 C# 复杂条件查询(sql 复杂条件查询)查询解决方案 1.A,Ylbtech.Model返回 ...

  2. MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序

    一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...

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

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

  4. Activiti5 待审 待批任务 TaskQuery查询 条件查询 like查询

    TaskQuery查询API 有两种方法可以从引擎中查询数据:查询API和原生查询.查询API提供了完全类型安全的API. 你可以为自己的查询条件添加很多条件 (所以条件都以AND组合)和精确的排序条 ...

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

    Atitit.列表页and查询条件的最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1. 配置条件字段@Conditional 1 1 2. 2. 配置条件字段显示类 ...

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

    原文:Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询 如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候, ...

  7. 【2017-03-10】Tsql语句基础、条件,高级查询

    一.语句基础 1.创建数据库:create database 数据库名(不能汉字,不能数字.符号开头) 2.删除数据库:drop database 数据库名 3.选用数据库:use 数据库名 4.创建 ...

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

    1.创建数据库:create database --数据库名,不能中文,不能数字开头,不能符号开头 2.删除数据库:drop database-- 数据库名 use student--使用数据库 3. ...

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

    上一篇的随笔写的是基本操作,现在可以做一些高级操作,例如有条件的查询数据,有分页的条件查询数据 一.一个条件的查询数据 查询数据自然是先要显示出数据,然后根据条件进行查询数据 (1)显示出表的数据 这 ...

  10. Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题

    最近项目开发一直在不断切换数据库,有时候一条sql 要同时考虑多种数据库中的兼容问题 , 先总结一条模糊查询拼接查询条件的问题,后续追加总结. 目前使用   mybatis: 1. Oracle 中使 ...

随机推荐

  1. js浮点乘除法运算不精确bug

    //除法函数,用来得到精确的除法结果 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显.这个函数返回较为 精确的除法结果. //调用:accDiv(arg1,arg2 ...

  2. python基础补漏-06-其他常用模块

    JSON/Pickle: 首先我们要明白 什么事序列化--> 就是进行不同程序之间的数据交换 那JSON 和Pickle是什么鬼... 就是不同的方式而已 import json name = ...

  3. 基于ArcGIS API for Javascript的地图编辑工具

    最近工作上需要用ArcGIS API for Javascript来开发一个浏览器上使用的地图编辑工具,分享一下一些相关的开发经验. 我开发的地图编辑工具是根据ESRI提供的例子修改而来的,参考的例子 ...

  4. PHP 的 foreach

    foreach 可以 针对 string 操作,不过会生成一个警告,并跳过该 expression, 举例: $ids = '123'; foreach ($ids as $item){ print_ ...

  5. 【翻译】XV6-DRAFT as of September 3,2014 第0章 操作系统接口

    操作系统接口 操作系统的任务是让多个程序共享计算机(资源),并且提供一系列基于计算机硬件的但更有用的服务.操作系统管理并且把底层的硬件抽象出来,举例来说,一个文字处理软件(例如word)不需要关心计算 ...

  6. Python检测服务端口存活状态并报警

    最近发现公司的测试环境中有个Socket服务的端口总是莫名其妙Down掉,但是服务却正常运行着,看样子是僵死了... 虽然是测试环境,但是也不能这样放着不管,于是连夜写了一个简单的监控脚本.因为服务器 ...

  7. python中文编码问题

    第一步:在代码中输入以下命令,执行: #在Python中显示中文注释和输出中文a ="中文"print a 返回错误: d:\Python27\python.exe "D ...

  8. Python Day20

    Django 表操作 1.基本操作 # 增 # # models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs # o ...

  9. Spring-----定时任务Quartz配置之手动设置

    一 配置xml如下: <!-- 定时任务配置 --> <bean id="scheduler" class="org.springframework.s ...

  10. sublime 中 pyv8 binary 报错怎么处理?

    ,sublime text 在安装插件的时候,尤其是Emmet的时候,经常会报一个错误--please wait a bit whilePyV8 binary is being downloaded, ...