我正在尝试使用搜索框,我创建了一个如下表单:
<form method="post" action="search.php">
<select name="purpose">
<option value="" selected="selected">-any-</option>
<option value="For Sale">For Sale</option>
<option value="For Rent">For Rent</option>
</select>
<select name="type">
<option value="" selected="selected">-any-</option>
<option value="Bungalow">Bungalow</option>
<option value="Apartment">Apartment</option>
</select>
<select name="location">
<option value="" selected="selected">-any-</option>
<option value="Norway">Norway</option>
<option value="Itley">Itley</option>
</select>
<input type="submit" value="Search">
</form>
搜索.php
我正在尝试使用这些查询但遇到问题:
$purpose=$_POST['purpose'];
$type=$_POST['type'];
$location=$_POST['location'];
如果我像这样输入 AND 查询:
SELECT * FROM test WHERE purpose='$purpose' AND location='$location' AND type='$type'
然后它不会一一过滤结果,它显示为空白。
如果我OR
这样查询:
SELECT * FROM test WHERE purpose='$purpose' OR location='$location' OR type='$type'
然后它过滤混合结果。
我想如果全部选择它过滤(目的>>类型>>位置)并且如果选择一个然后按此过滤但确切的结果显示
Result not found!
编辑在评论中添加更新:
我正在这样做,但它显示错误:
$qry = "SELECT * FROM test WHERE 1=1";
if($purpose!="")
$qry .= " AND purpose='$purpose'";
if($location!="")
$qry .= " AND location='$location'";
if($type!="")
$qry .= " AND type='$type'";
while ($row = mysql_fetch_array($sql))
echo $row['purpose'];
echo $row['location'];
echo $row['type'];
我想要如果不匹配显示结果未找到,否则它会逐一过滤。