1.链接数据库

<?php
include("DBDA.class.php");
$db=new DBDA();
$sql="select * from fangzi";
$attr=$db->Query($sql); ?>

2.建立复选框表单

<form action="" method="post">
<div>区域:<input type="checkbox" onclick="quanxuan1(this)">全选</div>
<div>
<?php foreach($attr as $v)
{
echo "<input type='checkbox' name='area[]' class='area' value='{$v[2]}'>{$v[2]}";//设置name=area[]是数组,因为有很多个复选框,所以要把它的名字设置为数组,设置class名,为了下面js改变它的属性,给它设置value,为了下面能都取到它的值,进行查询 } ?>
</div><br> <div>租赁类型:<input type="checkbox" onclick="quanxuan2(this)">全选</div>
<div>
<?php
foreach($attr as $v)
{
echo "<input type='checkbox' name='zu[]' class='zu' value='{$v[5]}'>{$v[5]}"; } ?>
</div><br> <div>房屋类型:<input type="checkbox" onclick="quanxuan3(this)">全选</div>
<div>
<?php
foreach($attr as $v)
{
echo "<input type='checkbox' name='fangwu[]' class='fangwu' value='{$v[6]}'>{$v[6]}"; } ?>
</div><br> <div>关键字:<input type="text" name="guanjianzi"></div> <div><input type="submit" value="搜索"></div>
</form>

3.列表的显示

<table width="80%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>关键字</td>
<td>区域</td>
<td>面积</td>
<td>租金</td>
<td>租赁类型</td>
<td>房屋类型</td>
</tr>
<?php
$tiaojian1=" 1=1 ";
$tiaojian2=" 1=1 ";
$tiaojian3=" 1=1 ";
$tiaojian4=" 1=1 "; if(!empty($_POST["area"])){
$attr1=$_POST["area"]; //通过area取到的是数组
$str1=implode("','",$attr1); //把数组拼接成字符串 因为sql语句中例如 select * from login code in('','','','');,所以用‘,’作为拼接符号把数组拼接成字符串
$tiaojian1=" area in ('$str1')";//直接把上面的字符串写到条件里
}
if(!empty($_POST["zu"])){
$attr2=$_POST["zu"];
$str2=implode("','",$attr2);
$tiaojian2=" zulinleixing in ('$str2')";
}
if(!empty($_POST["fangwu"])){
$attr3=$_POST["fangwu"];
$str3=implode("','",$attr3);
$tiaojian3=" fangwuleixing in ('$str3')";
}
if(!empty($_POST["guanjianzi"])){
$str4=$_POST["guanjianzi"];
$tiaojian4=" keyword like '%{$str4}%'";
}
$sql1="select * from fangzi where {$tiaojian1} and {$tiaojian2} and {$tiaojian3} and {$tiaojian4}";//把各个条件拼起来
$zattr=$db->Query($sql1);
foreach($zattr as $zv)
{
echo "<tr><td>{$zv[1]}</td><td>{$zv[2]}</td><td>{$zv[3]}</td><td>{$zv[4]}</td><td>{$zv[5]}</td><td>{$zv[6]}</td></tr>"; }
?>
</table>

4.通过js控制全选的选中状态

<script>
function quanxuan1(aa)
{ var attr=document.getElementsByClassName("area");
for(var i=0;i<attr.length;i++)
{
if(aa.checked) //判断全选复选框的选中状态
{
attr[i].setAttribute("checked","checked"); 给各个小复选框添加cheched=checked的属性 }
else
{
attr[i].removeAttribute("checked"); //给各个小复选框移除checked属性 }
}
} function quanxuan2(aa)
{ var attr=document.getElementsByClassName("zu");
for(var i=0;i<attr.length;i++)
{
if(aa.checked)
{
attr[i].setAttribute("checked","checked"); }
else
{
attr[i].removeAttribute("checked"); }
}
}
function quanxuan3(aa)
{ var attr=document.getElementsByClassName("fangwu");
for(var i=0;i<attr.length;i++)
{
if(aa.checked)
{
attr[i].setAttribute("checked","checked"); }
else
{
attr[i].removeAttribute("checked"); }
}
} </script>

php部分--例子:租房子(复选框的全选、数组拼接成字符串、设置复选框的name值、)的更多相关文章

  1. jquery 获取多选select的文本中并拼接成字符串

    //拼接产品字符串 var productArray = new Array(); $.each($("#fmeatask-subSystem").find("optio ...

  2. bootstrap实现checkbox全选、取消全选

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- 最新版本的 ...

  3. js复选框实现全选、全不选、反选

    复选框为checkbox对象 通过input就可以将一个简单的复选框呈现在页面上 <input type="checkbox" /> 要实现的大概就是这样一个页面 思路 ...

  4. js实现复选框的全选、全不选、反选

    js中实现复选框的全选,全不选以及反选,分为两种情况: (1)选中“请选择”前面的复选框实现全选,不选中“请选择”前面的复选框实现全不选 <!DOCTYPE html PUBLIC " ...

  5. JQ实现复选框的全选反选不选

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false

    用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false,当所有checkbox都被选中时,全选按钮也被选中. 详解: 有两种 ...

  7. JS-日期框、下拉框、全选复选框

    <!-- 下拉框 --><link rel="stylesheet" href="static/ace/css/chosen.css" /&g ...

  8. 【jQuery】复选框的全选、反选,推断哪些复选框被选中

    本文与<[JavaScript]复选框的全选.反选.推断哪些复选框被选中>(点击打开链接)为姊妹篇,把里面内容再与jQuery框架中实现一次,相同做到例如以下的效果: 布局还是相同的布局, ...

  9. js实现复选框的全选、全不选和反选

    js实现复选框的全选.全不选和反选 主要是用遍历的方法查找元素,然后通过改变checked的属性来选择,为true则是选中状态,为false则是未选状态 实现代码 <!DOCTYPE html& ...

随机推荐

  1. IDEA调试javaScript

            谈起JavaScript调试,大家可能想到的就是FireFox下的FireBug,这毫无疑问,FireBug基本已经成为JavaScript开发人员的必备工具.在本文中,将向大家介绍如 ...

  2. $where $options: 'g','i'

    db.classes.update({"count":{$gt:20}},{$set:{"name":"c4"}},false,false) ...

  3. Codeforce385C 树状数组+素因子分解

    题目大意: 给多个区间的询问,在询问区间内每一个出现的素数去计算所有数中有多少个数能被这个素数整除 然后将所有素数得到的对应值求和 这里因为初始给定的数不超过10000000,最多670000不到的素 ...

  4. java抽象类与接口 详解

    在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类往往用来表征我们在对问题 ...

  5. Linux下备份系统至另一硬盘

    首先会想到dd命令. 但,, 1,若是小硬盘还好,上T的大硬盘这样做肯定不明智; 2,况且dd是在硬件层面的拷贝,前面的MBR也会随之恢复到另一个盘,若源硬盘是100G,目标盘是200G,又会出问题, ...

  6. 创建plist文件

    可以先在工程中直接新建一个plist文件,往里面写入自己需要的数据.但是这里的plist文件我们无法修改,是只读的,我们可以将这个plist文件复制一份到沙盒中,然后对沙盒中的文件进行操作.具体代码如 ...

  7. 【温故知新C/C++/opencv】取址符&||cv::groupRectangles||引用与值传递

    cv::groupRectangles void groupRectangles(vector<Rect>& rectList, int groupThreshold, doubl ...

  8. SharePoint表单和工作流 - Nintex篇(四)

    博客地址 http://blog.csdn.net/foxdave 接上篇点击打开链接 "Manage workflow constants" 管理工作流常量.这里可以管理工作流中 ...

  9. C/C++学习之基础-001

    1.C++虚函数的工作原理 虚函数(virtual function)需要虚函数表(virtual table)才能实现.如果一个类有函数声明成虚拟的,就会生成一个虚函数表,存放这个类的虚函数地址.若 ...

  10. c++高质量编程手册

    怡化主管强烈要求我读这本书.... 笔记尚未完成,持续更新呗.. 第1章 高质量软件开发之道 1.1 软件质量基本概念 1.1.1 如何理解软件的质量:功能性和非公能性 1.1.2 提高软件质量的基本 ...