1. 程式人生 > >php數據庫搜索用法

php數據庫搜索用法

strong sele type 實現 mysqli ont foreach class length

技術分享圖片

實現功能

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>

php數據庫搜索用法