close
文章出處

先看一下最后運行的結果,再來分析一下這個題

大概就是這個樣子的,首先得先在數據庫建一張表

上述的復選框都是根據數據庫的表查出來的

連接數據庫

先寫大標題租房子

然后寫個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啦

在做的時候一定要注意細節上問題


不含病毒。www.avast.com
arrow
arrow
    全站熱搜

    AutoPoster 發表在 痞客邦 留言(0) 人氣()