租房页面如图:

代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>租房子</title>
        <script src="bootstrap/js/jquery-1.11.2.min.js"></script>  //引入bootstrap前端框架的三个文件
        <script src="bootstrap/js/bootstrap.min.js"></script>
        <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
    </head>
    <style>
        .yangshi{
            margin-left: 69px;
        }
        .ys{
            margin-left: 69px;
        }
        .juli{
            margin-left: 28px;
        }
    </style>
    <body>
        <form action="rental.php" method="get" style="margin-top: -145px;">  //form表单中使用get方式进行提交
    <div style="width: 80%; height: 650px; background-image: url(./img/魅力罗兰Music炫图13.jpg); margin-left: 150px; margin-top: 150px;">
        <div style="margin-left: 20px;">
            <h1 style="margin-left: 40%; pading-top: 20px;">租房子</h1>
            <div class="juli">区域:<input type="checkbox" class="ck1" onclick="qx(this)"> 全选</div>
            <div>

    //连接数据库并利用去重查询取出列名为区域的这一组数据                              
                <?php
                require_once "./DBDA.class.php";    
                require_once "./page.class.php";
                $db = new DBDA();
                $sqy = "select distinct area from housedb";    //去重查询
                $aqy =$db->query($sqy,0);
                foreach($aqy as $v){
                    echo "<span class='yangshi'><input type='checkbox'  class='ck1' name='qy[]' value='{$v[0]}'> {$v[0]}</span>";
                }
                ?>
            </div>
        </div>

  效果如图:

<div style="margin-left: 20px; margin-top: 20px;">
            <div>租房类型:<input type="checkbox" class="ck2" onclick="zflx(this)"> 全选</div>
            <div>

    //连接数据库并利用去重查询取出列名为租房类型的这一组数据      
                <?php
                $srt = "select distinct renttype from housedb";    
                $art = $db->query($srt,0);
                foreach($art as $v){
                    echo "<span class='ys'><input type='checkbox' class='ck2' name='zflx[]' value='{$v[0]}'> {$v[0]}</span>";
                }
                ?>
            </div>

  效果如图:

<div style="margin-top: 20px;">
            <div class="juli">户型:<input type="checkbox" class="ck3" onclick="hx(this)"> 全选</div>
            <div>

    //连接数据库并利用去重查询取出列名为户型的这一组数据    
                <?php
                $sht = "select distinct housetype from housedb";    
                $aht = $db->query($sht,0);
                foreach($aht as $v){
                    echo "<span class='yangshi'><input type='checkbox' class='ck3' name='hx[]' value='{$v[0]}' > {$v[0]}</span>";
                }
                ?>
            </div>
            </div>

  效果如图:
        </div>
        
            <div style="margin-top: 20px; margin-left: 20px;">
                <span class="glyphicon glyphicon-search" style="margin-top: 10px; float: left;"></span>

    //关键字查询
                <input type="text" class="form-control" name="keyword" placeholder="关键字搜索" style="max-width: 120px;float: left;">
                <button type="submit" class="btn btn-danger"style="float: left; margin-left: 20px;">搜索</button>

  效果如图:
            </div>
    //使用表格在页面输出全部数据信息
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>关键字</th>
                    <th>区域</th>
                    <th>房子面积</th>
                    <th>租价</th>
                    <th>租房类型</th>
                    <th>户型</th>
                </tr>
            </thead>
            <tbody>
                <?php                                                                    
                $tj1 = " 1=1 ";  //分别对不同查询的条件做一个恒成立的条件
                $tj2 = " 1=1 ";
                $tj3 = " 1=1 ";
                $tj4 = " 1=1 ";
                if(!empty($_GET["qy"])){  //区域的条件判断
                    $qy = $_GET["qy"];
                    $str = implode("','", $qy);
                    $tj1 = "area in ('{$str}')";
                }
                if(!empty($_GET["zflx"])){  //租房类型的条件判断
                    $zflx = $_GET["zflx"];
                    $str = implode("','", $zflx);
                    $tj2 = "renttype in ('{$str}')";
                }
                if(!empty($_GET["hx"])){  //户型的条件判断
                    $hx = $_GET["hx"];
                    $str = implode("','", $hx);
                    $tj3 = "housetype in ('{$str}')";
                }
                if(!empty($_GET["keyword"])){  //关键字查询的条件判断
                    $keyword = $_GET["keyword"];
                    $tj4 = "keyword like '%{$keyword}%'";
                }    
                
                $zts = "select count(*) from housedb where {$tj1} and {$tj2} and {$tj3} and {$tj4}";  
                $ats = $db->query($zts,0);
                $page = new page($ats[0][0],3);  //分页查询取总数,设置每页显示的行数据

  效果如图:

$sql = "select * from housedb where {$tj1} and {$tj2} and {$tj3} and {$tj4}".$page->limit;  //利用拼接字符串方式将调取分页方法与条件进行拼接
                $arr = $db->query($sql,0);
                foreach($arr as $v){
                    echo "<tr>
                    <td>{$v[1]}</td>
                    <td>{$v[2]}</td>
                    <td>{$v[3]}</td>
                    <td>{$v[4]}</td>
                    <td>{$v[5]}</td>
                    <td>{$v[6]}</td>
                </tr>";
                }
                ?>                
            </tbody>
        </table>

  效果如图:
        <div>
            <?php
            echo $page->fpage();
            ?>
        </div>
    </div>
    </form>                
    </body>
    <script>

  //使用JS实现全选功能
        function qx(qx){
            var ck1 = document.getElementsByClassName("ck1");
            for(var i=0;i<ck1.length;i++){
                ck1[i].checked=qx.checked;
            }
        }
        function zflx(zflx){
            var ck2 = document.getElementsByClassName("ck2");
            for(var i=0;i<ck2.length;i++){
                ck2[i].checked=zflx.checked;
            }
        }
        function hx(hx){
            var ck3 = document.getElementsByClassName("ck3");
            for(var i=0;i<ck3.length;i++){
                ck3[i].checked=hx.checked;
            }
        }
    </script>
</html>

PHP连接数据库实现多条件查询与分页功能——关于租房页面的完整实例操作的更多相关文章

  1. SSM整合 mybatis多条件查询与分页

    多条件查询与分页: 通过页面的houseName.floorage获取值传到前端视图(HouseSearchVO)实体类中的houseName,floorage建立houseSearchVO对象. 通 ...

  2. WebFrom 小程序【条件查询与分页整合】

    将前面的条件查询功能与分页显示整合到一个页面中 <%@ Page Language="C#" AutoEventWireup="true" CodeFil ...

  3. TP条件查询和分页查询

    一.条件查询 前端页面 <!doctype html> <html> <head> <meta charset="utf-8"> & ...

  4. Spring MVC和Spring Data JPA之按条件查询和分页(kkpaper分页组件)

    推荐视频:尚硅谷Spring Data JPA视频教程,一学就会,百度一下就有, 后台代码:在DAO层继承Spring Data JPA的PagingAndSortingRepository接口实现的 ...

  5. spring data jpa实现多条件查询(分页和不分页)

    目前的spring data jpa已经帮我们干了CRUD的大部分活了,但如果有些活它干不了(CrudRepository接口中没定义),那么只能由我们自己干了.这里要说的就是在它的框架里,如何实现自 ...

  6. (转)Entity Framework4.1实现动态多条件查询、分页和排序

    原文:http://www.cnblogs.com/ahui/archive/2011/08/04/2127282.html EF通用的分页实现: 1 2 3 4 5 6 7 8 9 10 11 12 ...

  7. 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现

    一.不带有动态条件的查询 分页的实现 实例代码: controller:返回的是Page<>对象 @Controller @RequestMapping(value = "/eg ...

  8. thinkphp5.0多条件模糊查询以及多条件查询带分页如何保留参数

    1,多条件模糊查询 等于:map[‘id′]=array(‘eq′,100);不等于:map[‘id′]=array(‘eq′,100);不等于:map[‘id’] = array(‘neq’,100 ...

  9. Spring Boot Jpa 多条件查询+排序+分页

    事情有点多,于是快一个月没写东西了,今天补上上次说的. JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将 ...

随机推荐

  1. centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...

  2. react-redux单元测试(基于react-addons-test-utils,mocha)

    今天补上上次新闻客户端欠下的单元测试.新闻客户端github地址:点我,接上篇博客. 本次单元测试用到了单元测试比较流行的测试框架mocha,用到的是expect断言库,和react官方的测试插件:r ...

  3. BZOJ 1143: [CTSC2008]祭祀river(最大独立集)

    题面: https://www.lydsy.com/JudgeOnline/problem.php?id=1143 一句话题意:给一个DAG(有向无环图),求选出尽量多的点使这些点两两不可达,输出点个 ...

  4. 数据库之sql语句汇总20180616

    /*******************************************************************************************/ 一.SQL简 ...

  5. pip的更新问题

    OSX系统中在利用pip安装有些模块的时候出现”you are using pip version 9.0.1, however version 10.0.0 is available. You sh ...

  6. 查看android源码,windows环境下载源码

    查看源码 参考: http://blog.csdn.net/janronehoo/article/details/8560304 步骤: 添加chrome插件 Android SDK Search 进 ...

  7. nginx + php + mysql安装、配置、自启动+redis扩展

    用过了apache就想着用用nginx,网上教程其实很多,但是受服务器版本等限制,每个人遇到的问题也不一样,先记录下我的 一.安装依赖 yum -y install gcc zlib zlib-dev ...

  8. C# WebApi过滤器(开发接口必备利器)

    在WEB Api中,引入了面向切面编程(AOP)的思想,在某些特定的位置可以插入特定的Filter进行过程拦截处理.引入了这一机制可以更好地践行DRY(Don’t Repeat Yourself)思想 ...

  9. 物理服务器Linux下软RAID和UUID方式挂载方法--Megacli64

    一.业务部门需求说明:公司最近来了一批服务器,用于大数据业务部署.数据节点服务器由14块物理磁盘,其中有2块是900G的盘,12块是4T的盘.在服务器系统安装时,进入系统的BIOS界面:1)将2块90 ...

  10. python自动化开发-[第十六天]-bootstrap和django

    今日概要: 1.bootstrap使用 2.栅格系统 3.orm简介 4.路由系统 5.mvc和mtv模式 6.django框架 1.bootstrap的引用方式 1.Bootstrap 专门构建了免 ...