题目:

示例图

本次只做图4这个表,因为之前的都已做过

自己在mydb数据库建了一个house表

如图:

自己做的代码:

<!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="house_main.php" method="post">
<div>
区域:
    <input type="checkbox" name="qx1" onclick="checkall(this)" />全选
</div>
<div>    
         <?php
        $db = new MySQLi("localhost","root","root","mydb");
        $sqlqx = "select distinct area from house ";
        
        $resultqx = $db->query($sqlqx);
        while($arrqx = $resultqx->fetch_row())
        {
            
            echo"<input class='qx' type='checkbox' value='{$arrqx[0]}' name='qx[]' />{$arrqx[0]}";
        }
        
    ?>
</div>
<div>
租赁类型:
    <input type="checkbox" name="qx2" onclick="checkall2(this)"/>全选
</div>
<div>
    <?php
        
        $sqlqy = "select distinct renttype from house ";
        
        $resultqy = $db->query($sqlqy);
        while($arrqy = $resultqy->fetch_row())
        {
            
            echo"<input class='qy' type='checkbox' value='{$arrqy[0]}' name='qy[]'/>{$arrqy[0]}";
        }
    ?> </div> <div>
房屋类型:
    <input type="checkbox" name="qx3" onclick="checkall3(this)"/>全选
</div>
<div>
    <?php
        
        $sqlqz = "select distinct housetype from house";
        
        $resultqz = $db->query($sqlqz);
        while($arrqz = $resultqz->fetch_row())
        {
            
            echo"<input class='qz' type='checkbox' value='{$arrqz[0]}' name='qz[]' />{$arrqz[0]}";
        }
    ?>
</div> <div>
关键字:
<input  type="text" name="keyword"/>
</form>
<br /> <input type="submit" value="搜索" />
</div> </div>
<br />
<br />
<br /> </form>
<table width="50%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>关键字</td>
        <td>区域</td>
        <td>建筑面积</td>
        <td>租金</td>
        <td>租赁类型</td>
        <td>房屋类型</td>
    </tr>
    <?php
        $tj = "";
        $tj1 = "1=1";
        $tj2 = "2=2";
        $tj3 = "3=3";
        $tj4 = "4=4";
        if(!empty($_POST["qx"]) && count($_POST["qx"]>0))
        {
            $attr = $_POST["qx"];
            $str = implode("','",$attr);             $tj1 = "area in ('{$str}')";    
        }
        if(!empty($_POST["qy"]) && count($_POST["qy"]>0))
        {
            $attr = $_POST["qy"];
            $str = implode("','",$attr);
            
            $tj2 = "renttype in ('{$str}')";
        }
        if(!empty($_POST["qz"]) && count($_POST["qz"]>0))
        {
            $attr = $_POST["qz"];
            $str = implode("','",$attr);             $tj3 = "housetype in ('{$str}')";
        }
        if(!empty($_POST["keyword"]) && count($_POST["keyword"]>0))
        {
            $attr = $_POST["keyword"];
            $tj4 = "keyword like '%{$attr}%'";    
        }
        //$tj = " where {$tj1} and {$tj2} and {$tj3} and {$tj4} ";
        $sql = "select * from house where {$tj1} and {$tj2} and {$tj3} and {$tj4} ";
        $attry = $db->query($sql);
        while($arr = $attry->fetch_row())
        {
            echo"<tr>
            <td>{$arr[1]}</td>
            <td>{$arr[2]}</td>
            <td>{$arr[3]}</td>
            <td>{$arr[4]}</td>
            <td>{$arr[5]}</td>
            <td>{$arr[6]}</td>
            </tr>";
        }
    
    ?> </table>
</body>
</html>
<script type="text/javascript"> function checkall(qx)
{    //ck变量不能重复设置
    var ck = document.getElementsByClassName("qx");
    
    if(qx.checked)
    {
        for(var i=0;i<ck.length;i++)
        {
            ck[i].setAttribute("checked","checked");
        }
    }
    else
    {
        for(var i=0;i<ck.length;i++)
        {
            ck[i].removeAttribute("checked");
        }
    }
}
function checkall2(qy)
{
    var ck2 = document.getElementsByClassName("qy");
    
    if(qy.checked)
    {
        for(var i=0;i<ck2.length;i++)
        {
            ck2[i].setAttribute("checked","checked");
        }
    }
    else
    {
        for(var i=0;i<ck2.length;i++)
        {
            ck2[i].removeAttribute("checked");
        }
    }
}
function checkall3(qz)
{
    var ck3 = document.getElementsByClassName("qz");
    
    if(qz.checked)
    {
        for(var i=0;i<ck3.length;i++)
        {
            ck3[i].setAttribute("checked","checked");
        }
    }
    else
    {
        for(var i=0;i<ck3.length;i++)
        {
            ck3[i].removeAttribute("checked");
        }
    }
}
</script>

展示效果:

查询范例:

搜索结果如下:

php 数据库练习之租房子的更多相关文章

  1. 11月6日上午PHP练习《租房子》解析

    一.题目要求 二.题目做法 1.建立数据库 2.封装类文件 <?php class DBDA { public $fuwuqi="localhost"; //服务器地址 pu ...

  2. PHP-----练习-------租房子-----增删改查,多条件查询

    练习-------租房子-----增删改查,多条件 一 .题目要求: 二 .做法: [1]建立数据库 [2]封装类文件------DBDA.class.php <?php class DBDA ...

  3. PHP实例练习--投票和租房子

    一,调查问卷 效果图:

  4. php 租房子(练习题)

    一.题目要求 1.功能描述   出租房屋数据管理及搜索页面 2.具体要求 (1) 创建数据库HouseDB,创建表House,要求如下: 二.题目做法 1.建立数据库 2.封装类文件 <?php ...

  5. php练习 租房子

    题目要求 1.封装类 <?php class DBDA { public $fuwuqi="localhost"; //服务器地址 public $yonghuming=&q ...

  6. 最近要租房子,用Python看一下房源吧..

    前言:最近我的朋友想要租房子,为了装个b,决定运用技术去帮助他. 这个网站是什么我也不知道 反正是一个房子交易网站  http://www.ljia.net/ 设置请求头 headers = {'Ac ...

  7. PHP 练习(租房子)

    一.题目要求 二.题目做法 1.建立数据库 2.封装类文件 <?php class DBDA { public $fuwuqi="localhost"; //服务器地址 pu ...

  8. PHP 练习3:租房子

    一.题目要求 二.题目做法 1.建立数据库 2.封装类文件 <?php class DBDA { public $fuwuqi="localhost"; //服务器地址 pu ...

  9. php封装+租房子练习题

    第一个页面DBDA.class.php <?php class DBDA { public $host = "localhost"; public $uid = " ...

随机推荐

  1. centos6.5中的cron计划任务配置方法

    1.#crontab -u <-l, -r, -e> -u指定一个用户-l列出某个用户的任务计划-r删除某个用户的任务-e编辑某个用户的任务 2. cron文件语法与写法 可用cronta ...

  2. 网络虚拟化(SDN,NFV..)和企业骨干网的演化

    本来昨天就规划了今天的这篇文章,无奈昨天中午自己喝了将近一瓶的52度二锅头...晚上想着今天怎么着也完了,要颓废难受一天了...没想到早上居然一点都不难受了.于是就写下了本文.正文之前,还是做个广告, ...

  3. 【C#学习笔记】反射的简单用法

    常见的使用反射的场景: 程序在运行时动态地访问类的成员,如获得类的变量.方法. 例如:用反射给本类的变量赋值. public class Student{ public string studentN ...

  4. 【Visual Studio】控制台程序运行时一闪而过

    问题:写一个C#控制台程序,运行时控制台一闪而过.程序结束.无法看清控制台输出的结果. 办法: 方法一二三都有人写过百度经验了:怎么解决VS运行程序一闪而过 其实还有一种办法,就是把控制台程序改为Wi ...

  5. swconfig--交换接口配置命令

    swconfig是交换接口(switch)配置命令. swconfig list ; 列出可用的SWITCH设备信息(dev参数) Found: switch0 - ag71xx-mdio. swco ...

  6. DateTime获取一个月的第一天和最后一天

    DateTime dtTarget = DateTime.Now; DateTime FirstDay = dtTarget.AddDays(-DateTime.Now.Day + ); DateTi ...

  7. Entity Framework开发介绍

    一.Entity Framework概要 Entity Framework是微软的Object Relational Mapper(对象关系映射),也就是我们平常说的ORM,它可以让应用程序开发者将关 ...

  8. RTMP流媒体播放过程:握手,建立连接,建立流,播放

    本文讲述从打开一个RTMP流媒体到视音频数据开始播放的整个过程. 播放一个流媒体有两个前提步骤: 第一步,建立一个网络连接(NetConnection): 第二步,建立一个网络流(NetStream) ...

  9. 7 款基于 JavaScript/AJAX 的文件上传插件

    本文整理了7款基于JavaScript和AJAX的文件上传插件,这些插件基本上都能实现以下功能: 多文件上传 拖拽操作 实时上传进度 自定义上传限制 希望能为你的开发工作带来帮助. 1.  jQuer ...

  10. Batch Normalization原理及其TensorFlow实现——为了减少深度神经网络中的internal covariate shift,论文中提出了Batch Normalization算法,首先是对”每一层“的输入做一个Batch Normalization 变换

    批标准化(Bactch Normalization,BN)是为了克服神经网络加深导致难以训练而诞生的,随着神经网络深度加深,训练起来就会越来越困难,收敛速度回很慢,常常会导致梯度弥散问题(Vanish ...