php数据库搜索用法

实现功能

1.点击全选,下属选框都选中

2.选中内容可以查找到相关内容

3.输入关键字可以搜索出与关键字相关的数据

代码

<body>
    <?php
        header("Content-Type:text/html;charset=utf-8");
        //连接数据库
        $db = new MySQLi("localhost","root","","z_house");
        !mysqli_connect_error() or die();
        $db -> query("set names utf8");
        
        //判断是否有值传过来
        if($_POST){

  //定义一个变量,用来连接sql语句,1=1结果为true,用来连接and,防止第一个and没有连接对象
            $set = " where 1=1 ";

//判断是否为有值,有值则输出下面语句
            if(!empty($_POST["qy"])){

//将数组分割成字符串
                $areaArr=implode("‘,‘",$_POST["qy"]);

//编辑sql语句,用来当查询的条件
                $set .= " and area in (‘$areaArr‘)"; 
            }

//租赁类型
            if(!empty($_POST["zl"])){
                $zlTypeArr =implode("‘,‘",$_POST["zl"]);
                $set .=" and renttype in (‘$zlTypeArr‘)";
            }

//房屋类型
            if(!empty($_POST["fw"])){
                $houseTypeArr =implode("‘,‘",$_POST["fw"]);
                $set.= " and housetype in (‘$houseTypeArr‘)";
            }

//关键字搜索
            if(!empty($_POST["gjz"])){
                $set.="and keyword like ‘%".$_POST["gjz"]."%‘";
                //$str .= " and keyword like ‘%".$_POST["kword"]."%‘ ";
            }

//定义sql语句
            $sql="select * from house " .$set;
//当为空值时,输出整个数据库
        }else{
            $sql="select  * from house";
        }

$ret=$db->query($sql);
        $arr=$ret-> fetch_all();
        
    //定义数组,输出到用户可选向项
        $areaArr = array("板井","三义庙","上上城","天安门东","中关村");
        $zlTypeArr = array("床位","短租","整租","合租");
        $houseTypeArr = array("1室1厅","2室1厅","3室2厅","4室2厅","平房","筒子楼");    
    ?>

//租房者登录
    <a href="denglu.php">登录</a>
    <fieldset>
        <legend>房屋出租</legend>

//在本界面处理数据
        <form action="#" method="post">
            <!--区域-->
            区域:

//定义一个自定义变量,用来选中下属复选框,
            <input type="checkbox" qx="qy" onClick="qx(this)">全选<br>
                <?php foreach($areaArr as $v){

//根据自定义属性的属性值筛选出下属复选框
                    echo "<input type=‘checkbox‘ name=‘qy[]‘ value=‘$v‘ class=‘qy‘>$v &nbsp;";
                 } ?>
                <br>
            
            <!--租赁类型-->
            租赁类型:

//定义一个自定义变量,用来选中下属复选框,
            <input type="checkbox" qx="zl" onClick="qx(this)">全选<br>
                <?php foreach($zlTypeArr as $v){

//根据自定义属性的属性值筛选出下属复选框
                    echo "<input type=‘checkbox‘ name=‘zl[]‘ value=‘$v‘ class=‘zl‘>$v &nbsp;";
                 } ?>
                <br>
            <!--房屋类型-->
            房屋类型:

//定义一个自定义变量,用来选中下属复选框,
            <input type="checkbox" qx="fw" onClick="qx(this)">全选<br>
                <?php foreach($houseTypeArr as $v){

//根据自定义属性的属性值筛选出下属复选框
                    echo "<input type=‘checkbox‘ name=‘fw[]‘ value=‘$v‘ class=‘fw‘>$v &nbsp;";
                 } ?>
                <br>
            <!--关键字搜索-->
            关键字:<input type="text" name="gjz"><br>
            <button>搜索</button><br>
        </form>
        <table border="1">
                <tr>
                    <td>关键字</td>
                    <td>区域</td>
                    <td>建筑面积</td>
                    <td>租金</td>
                    <td>租赁类型</td>
                    <td>房屋类型</td>
                </tr>
                <?php

//遍历输出数据库中的信息
                foreach($arr as $a){ ?>
                    <tr>
                        <td><?php echo $a[1] ?></td>
                        <td><?php echo $a[2] ?></td>
                        <td><?php echo $a[3] ?></td>
                        <td><?php echo $a[4] ?></td>
                        <td><?php echo $a[5] ?></td>
                        <td><?php echo $a[6] ?></td>
                    </tr>
                <?php } ?>
            </table>
    </fieldset>
</body>
</html>
<script>
    function qx(obj){
        var qx=obj.getAttribute("qx");
        var int=document.getElementsByClassName(qx);
        for(var i=0;i<int.length;i++){

//将复选框变成全选
            int[i].checked = obj.checked;
        }
    }
</script>

原文地址:https://www.cnblogs.com/sc1314-1218/p/8454898.html

时间: 2024-10-09 12:20:23

php数据库搜索用法的相关文章

关于SQL/NoSQL数据库搜索/查询的思考

转载请注明出处:jiq?钦's technical Blog Hbase特征: 最近在学习Hbase,Hbase基于行健是建立了索引的,查询速度会非常快,完全实时. 但是Hbase要基于行健之外的字段进行查询,那么就只能是全盘扫描,基本上不可接受. 所以Hbase一般来说会针对具体的应用场景来设计行健,利用基于行健的查询的实时性来达到Hbase数据的实时查询. 关系型数据库基于索引字段的实时查询: 然后联想到关系型SQL数据库,他们针对主键是建立了B/B+/B-树索引的,基于主键的查询是实时的,

Cocos数据篇[3.4](6) ——SQLite3数据库基础用法

[唠叨] 在Cocos2d-x中,简单数据存储,可以使用UserDefault.那么如何存储大量,不规则的数据?我们可以使用 SQLite数据库 存储数据.SQLite 是使用非常广泛的 嵌入式数据库 ,它有小巧 .高效.跨平台.开源免费和易操作的特点.所以大量的被用于手机.PDA.MP3播放器.以及机顶盒设备. SQLite数据库是使用C语言来编写的,因此在Cocos2d-x使用SQLite也是得心应手. 本文介绍一下SQLite3数据库的基础用法:增删改查. PS:另外对于SQLite的可视

Discuz常见小问题2-如何在数据库搜索指定关键字

点击搜索,然后输入关键字,注意要全选或者部分选择表(一个数据库的表),点击右下角的执行 ? 会提示有多少个匹配,可以在浏览器中直接搜索"1个匹配"来定位到哪个数据表找到了匹配项,然后浏览 ? ? ?

Cocos2d-x数据篇06:SQLite3数据库基础用法

尊重原创:http://cn.cocos2d-x.org/tutorial/show?id=2430 [前言] 在Cocos2d-x中,简单数据存储,可以使用UserDefault.那么如何存储大量,不规则的数据?我们可以使用 SQLite数据库 存储数据.SQLite 是使用非常广泛的 嵌入式数据库 ,它有小巧 .高效.跨平台.开源免费和易操作的特点.所以大量的被用于手机.PDA.MP3播放器.以及机顶盒设备. SQLite数据库是使用C语言来编写的,因此在Cocos2d-x使用SQLite也

大约SQL/NoSQL数据库搜索/思考查询

转载请注明出处:jiq?钦's technical Blog Hbase特征: 近期在学习Hbase.Hbase基于行健是建立了索引的,查询速度会很快,全然实时. 可是Hbase要基于行健之外的字段进行查询.那么就仅仅能是全盘扫描,基本上不可接受. 所以Hbase一般来说会针对详细的应用场景来设计行健,利用基于行健的查询的实时性来达到Hbase数据的实时查询. 关系型数据库基于索引字段的实时查询: 然后联想到关系型SQL数据库,他们针对主键是建立了B/B+/B-树索引的,基于主键的查询是实时的.

各种数据库的用法

1.Master数据库   Master数据库记录了Sqlserver所有的服务器级系统信息,所有的注册帐户和密码,以及所有的系统设置信息,还记录了所有用户定义数据库的存储位置和初始化信息.   2.Tempdb数据库   Tempdb记录了所有的临时表.临时数据和临时创建的存储过程.Tempdb数据库是一个全局资源,没有专门的权限限制,允许所有可以连上Sqlserver服务器的用户使用.   在Tempdb数据库存放的所有数据信息都是临时的.每当连接断开时,所有的临时表和临时存储过程都将自动丢

Linux中grep搜索用法

有测试文件test.txt一枚,内容如下 aaabbbcccAAADDDEEEabcsdfjasldjfbcdokmABC 一.基本搜索常用1.现在想把abc okm筛选出来 grep "abc\|okm" test.txt 结果:abcokm 2.把带a的行筛选出来,不区分大小写grep -i "a" test.txt 结果:aaabbbcccAAADDDEEEabcsdfjasldjfABC 3.把带a的行筛选出来,只要小写的grep "a"

PHP数据库搜索功能设计

其实搜索功能的设计很简单,几行代码就可以完成.下面是form表单. <form method="post" action="../admin/article_SearchResult.php" name="search">   <input name="search" type="text" value="" size="15">    <

MongoDB数据库基本用法

1 show dbs:显示数据库列表 2 show collections:显示当前数据库中的集合(类似关系数据库中的表) 3 show users:显示用户 4 use <db name>:切换当前数据库,这和MS-SQL里面的意思一样 5 db.help():显示数据库操作命令,里面有很多的命令 6 db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 7 db.foo.find():对于当前数据库中的foo集合