zoukankan      html  css  js  c++  java
  • php部分--例子:租房子(复选框的全选、数组拼接成字符串、设置复选框的name值、)

    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>
  • 相关阅读:
    抽丝剥茧设计模式- 责任链模式应用场景
    抽丝剥茧设计模式-工厂和抽象工厂模式
    抽丝剥茧设计模式-你真的懂单例模式吗?
    抽丝剥茧设计模式- 啰嗦几句
    生产环境ng配置
    Linux命令
    内容过滤报错
    user 报错
    cxlabel 显示不全的解决方法
    关于SQL事务的一些坑
  • 原文地址:https://www.cnblogs.com/xingyue1988/p/6213718.html
Copyright © 2011-2022 走看看