<!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. window.hostory(浏览器的历史记录)

    浏览器会对同一个窗口(选项卡)中访问的网页进行记录,不管我们是通过以下哪种方式改变网页,浏览器都会把改变后的网页记录下来,以便通过浏览器的前进和后退按钮,能够快速的切换到已经访问过的网页:  1)直接 ...

  2. MATLAB的三维散点图

    MATLAB中三维散点图函数为scatter3(x,y,z) 三维火柴图为stem3(x,y,z)

  3. CodeForces 24D Broken Robot

    题意:n*m的棋盘,一个机器人在(i,j)处,每次等概率地停在原地,向左移动一格,向右移动一格,向下移动一格(不能移出棋盘).求走到最后一行所需期望步数.n<=1000,m<=1000 一 ...

  4. CSS-各种cs样式之浏览器兼容处理方式汇总大全(更新中...)

    页面模板 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 ...

  5. Think twice before doing~

    1.遇到任何矛盾,对事不对人. 2.接到朋友等人的求助电话后,一定要先问清楚对方有什么事情,然后再告诉他(她)能不能帮她(他). 3.如果没有十足的把握和必要,就不要轻易说假话. 4.少提自己的私事, ...

  6. Python_查询手机供应商

    def Seach_Phone_Nmuber_operator(): CN_mobile = [134,135,136,137,138,139,150,151,152,157,158,159,182, ...

  7. 使用vlc播放器做rtsp流媒体服务器

    可参考: 使用vlc播放器播放rtsp视频 web网页中使用vlc插件播放相机rtsp流视频 使用vlc进行二次开发做自己的播放器 首先需要安装vlc播放器,下载及安装步骤略 使用vlc播放器做rts ...

  8. git查看本地和创建分支、上传分支、提交代码到分支、删除分支等,git分支、git查看本地和创建分支以及上传分支到服务器

    以下是git命令行里边的命令操作 ##进入项目目录下 giscafer@Faronsince2016 /G/002_project $ cd Comments ##查看远程分支有哪些 giscafer ...

  9. oracle服务起不来以及无法监听问题解决

    改问题是在搭建起一个很早之前的数据库的时候碰见的,虽然这个问题网上已经有很多相关的帖子,但因最近碰见多次这样的问题,特此简单记录: 1.最开始碰见的问题是:The listener supports ...

  10. 我们是怎么管理QQ群的

    文章背景:腾讯平台上的qq群数以千万百万计,但99%的在吹水扯蛋,从早上的问好开始,到晚上的晚安,无一不浪费青春之时间,看之痛心,无力改变,只好自己建了一个,希望能以此来改变群内交流的氛围或环境. 以 ...