复选框式查询 例题租房子
先看一下最后运行的结果,再来分析一下这个题
大概就是这个样子的,首先得先在数据库建一张表
上述的复选框都是根据数据库的表查出来的
连接数据库
先写大标题租房子
然后写个div 里面写区域的复选框
再写区域下面的一些复选框
嵌入php代码 从表里查到所有的区域去重
调用方法,循环遍历 出现的名称,做复选框
租赁类型和房屋类型都是那么做
<!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> <?php $db = new MySQLi("localhost","root","726","housedb"); //一共有四个条件 $tj1 = "1=1"; $tj2 = "1=1"; $tj3 = "1=1"; $tj4 = "1=1"; //区域的条件 if(!empty($_POST["qx"]) && count($_POST["qx"])>0)//判断区域有没有传入数据,qs是一个数组 并且它数量大于0 { $qx = $_POST["qx"]; $str = implode("','",$qx); 分隔符 返回一个字符串 $tj1 = " area in('{$str}') "; } //租赁类型的条件 if(!empty($_POST["zl"]) && count($_POST["zl"])>0) { $zl = $_POST["zl"]; //code in('类型','数量','都好久','队伍','额') $str = implode("','",$zl); $tj2 = " renttype in('{$str}') "; } //房屋类型的条件 if(!empty($_POST["fw"]) && count($_POST["fw"])>0) { $fw = $_POST["fw"]; //code in('类型','数量','都好久','队伍','额') $str = implode("','",$fw); $tj3 = " housetype in('{$str}') "; } //关键字的条件 if(!empty($_POST["key"])) { $key = $_POST["key"]; $tj4 = " keyword like '%{$key}%' "; } ?> <h1>租房子</h1> <form action="zfchaxun.php" method="post"> <div>区域:<input type="checkbox" onclick="checkall(this)" />全选</div> <div> <?php $sqlq = "select distinct area from house"; $rq = $db->query($sqlq); $aq = $rq->fetch_all(); foreach($aq as $v) { echo "<input type='checkbox' name='qx[]' value='{$v[0]}'> {$v[0]}"; } ?> </div> <br /> <div>租赁类型:<input type="checkbox" />全选</div> <div> <?php $sqlz = "select distinct renttype from house"; $rz = $db->query($sqlz); $az = $rz->fetch_all(); foreach($az as $v) { echo "<input type='checkbox' name='zl[]' value='{$v[0]}'> {$v[0]}"; //设置name值 } ?> </div> <br /> <div>房屋类型:<input type="checkbox" />全选</div> <div> <?php $sqlf = "select distinct housetype from house"; $rf = $db->query($sqlf); $af = $rf->fetch_all(); foreach($af as $v) { echo "<input type='checkbox' name='lx[]' value='{$v[0]}'> {$v[0]}"; } ?> </div> <br /> <div>关键字:<input type="text" name="key" /> <input type="submit" value="查询" /> </div> <br /> </form> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>关键字</td> <td>区域</td> <td>面积</td> <td>租金</td> <td>租赁类型</td> <td>房屋类型</td> </tr> <?php $sqlall = "select * from house where {$tj1} and {$tj2} and {$tj3} and {$tj4}"; $rall = $db->query($sqlall); $aall = $rall->fetch_all(); foreach($aall 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> <script type="text/javascript"> //实现复选框的全选 function checkall(a) { var ck = document.getElementsByClassName("qxlist"); 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> </body> </html>
一般的步骤就是
先做大体的样子
然后做四个条件
最后做js控制全选
就ok啦
在做的时候一定要注意细节上问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?