zoukankan      html  css  js  c++  java
  • php 多条件查询

    1、效果图如下:

    点击提交后,把符合条件的筛选出来

    2、代码:

    逻辑:选中数据----以数组方式提交---拼接sql语句

    难点:

    (1)从数据库里读取的数据要去重

    (2)读取的数据是数组,要拼接

    (3)js实现一键全选

    复制代码
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
                
                <?php
                require "DB.class.php";
                $db = new DB();        
                $keyword="";
                $arr1 = "";
                $tj1 = " 1=1 ";
                $tj2 = " 1=1 ";
                $tj3 = " 1=1 ";
                $tj4 = " 1=1 ";
                
                if(!empty($_POST["ck1"]))
                {
                    $arr1 = $_POST["ck1"];
                    $str1 = implode("','",$arr1);
                    $tj1 = " area in ('{$str1}') ";
                }
                if(!empty($_POST["ck2"]))
                {
                    $arr2 = $_POST["ck2"];
                    $str2 = implode("','",$arr2);
                    $tj2 = " renttype in ('{$str2}') ";
                }
                if(!empty($_POST["ck3"]))
                {
                    $arr3 = $_POST["ck3"];
                    $str3 = implode("','",$arr3);
                    $tj3 = " housetype in ('{$str3}') ";
                }
                if(!empty($_POST["keyword"]))
                {
                    $keyword = $_POST["keyword"];
                    $tj4 = " keyword like '%{$keyword}%' ";
                }
                
                $tj = "{$tj1} and {$tj2} and {$tj3} and {$tj4} ";
                $sql = "select * from house where".$tj;
                echo $sql;
                ?>
                
                
             <form method="post" action="main-3.php">
                <div  style="margin:0px 400px">
                    
                 <div >区域:<input type="checkbox"  name="qx1" onclick="quanxuan1(this)"/> 全选</div>
                    <?php
                $sql1 = "select distinct area from house ";
                $arr = $db->query($sql1);
                    foreach($arr as $v)
                    {
                        echo "<input type='checkbox' name='ck1[]' class='ck1' value='{$v[0]}'
                            checked = '
                            '
                            
                             />{$v[0]}";    
                    }
                ?>
            <br /><br />
        
    <!--第二个-->
                
                    <div >租赁类型:<input type="checkbox"  name="qx2" onclick="quanxuan2(this)"/> 全选</div>
                    <?php
                        $sql2 = "select distinct renttype from house ";
                        $arr = $db->query($sql2);
                    foreach($arr as $v)
                    {
                        echo "<input type='checkbox' name='ck2[]' class='ck2' value='{$v[0]}'/>{$v[0]}";    
                    }
                ?>
                <br /><br />
    <!--第三个-->
                
                    <div >房屋类型:<input type="checkbox"  name="qx3" onclick="quanxuan3(this)"/> 全选</div>
                    <?php
                    $sql3 = "select distinct housetype from house ";
                    $arr = $db->query($sql3);
                    foreach($arr as $v)
                    {
                        echo "<input type='checkbox' name='ck3[]' class='ck3' value='{$v[0]}'/>{$v[0]}";    
                    }
                ?><br /><br />
                <div> 关键字:<input  type="text" name="keyword" value="<?php echo $keyword?>"/> </div>
                <input type="submit" value="提交"  />
                </div>
            <br /><br />
            
        
    <!--第四个-->
        
            <table border="1" cellpadding="0" cellspacing="0" width="50%" style="margin: 0px  auto;">
                <tr>
                    <td>关键字</td>
                    <td>区域</td>
                    <td>使用面积</td>
                    <td>租金(¥)</td>
                    <td>租赁类型</td>
                    <td>房屋类型</td>
                </tr>
            <?php
                $arr = $db->query($sql);
                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> ";
                }
            
                ?>
                    </table>
        </form>
        </body>
    </html>
    
    
    <script type="text/javascript">
    function quanxuan1(qx1)
    {
        var ck1 = document.getElementsByClassName("ck1");
        if(qx1.checked)
        {
            for(var i=0;i<ck1.length;i++)
            {
                ck1[i].setAttribute("checked","checked");
            }
        }
        else
        {
            for(var i=0;i<ck1.length;i++)
            {
                ck1[i].removeAttribute("checked");
            }
        }
    }
    </script>
    
    
    
    <script type="text/javascript">
    function quanxuan2(qx2)
    {
        var ck2 = document.getElementsByClassName("ck2");
        
        if(qx2.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");
            }
        }
    }
    </script>
    <script type="text/javascript">
    function quanxuan3(qx3)
    {
        var ck3= document.getElementsByClassName("ck3");
        
        if(qx3.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>
    复制代码

    注:

    将js转换成一个函数调用:

    复制代码
    红色部分为不同部分:

    <div style="margin:0px 400px"> <div >区域:<input type="checkbox" onclick="quanxuan(this,'bb')"/> 全选</div> <?php $sql = "select distinct area from house "; $arr = $db->query($sql); foreach($arr as $v) { echo "<input type='checkbox' name='ck1[]' class='bb' value='{$v[0]}'/>{$v[0]}"; } ?> <br /><br /> <!--第二个--> <div >租赁类型:<input type="checkbox" onclick="quanxuan(this,'aa')"/> 全选</div> <?php $sql = "select distinct renttype from house "; $arr = $db->query($sql); foreach($arr as $v) { echo "<input type='checkbox' name='ck2[]' class='aa' value='{$v[0]}'/>{$v[0]}"; } ?> <br /><br /> <!--第三个--> <div >房屋类型:<input type="checkbox" onclick="quanxuan(this,'qy')"/> 全选</div> <?php $sql = "select distinct housetype from house "; $arr = $db->query($sql); foreach($arr as $v) { echo "<input type='checkbox' name='ck3[]' class='qy' value='{$v[0]}'/>{$v[0]}"; } ?><br /><br />
    复制代码
    复制代码
    function quanxuan(a,ff)
    {
        var ck = document.getElementsByClassName(ff);
        if(a.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");
            }
        }
    }
    </script>
    复制代码
  • 相关阅读:
    web服务器-Apache
    nginx优化
    nginx下载限速
    nginx-URL重写
    HDU 5358 First One 求和(序列求和,优化)
    HDU 5360 Hiking 登山 (优先队列,排序)
    HDU 5353 Average 糖果分配(模拟,图)
    UVALive 4128 Steam Roller 蒸汽式压路机(最短路,变形) WA中。。。。。
    HDU 5348 MZL's endless loop 给边定向(欧拉回路,最大流)
    HDU 5344 MZL's xor (水题)
  • 原文地址:https://www.cnblogs.com/Liangbingbing/p/6851944.html
Copyright © 2011-2022 走看看