我有一个下拉搜索过滤器,可以按产品类别缩小用户搜索范围,例如,如果他们选择汉堡包,则会显示汉堡包。
我的搜索过滤器工作正常,因为它显示正确的产品。但即使在选择类别后,类别产品显示在页面顶部,而所有其他产品都可以在页面底部看到,我的问题是如何隐藏不在选定内容中的产品类别。
例如,仅显示来自汉堡的产品,而不是其他内容。
我的产品页面代码与搜索过滤器页面(getcats.php)的代码位于一个单独的文件中,但是,它们共享完全相同的查询以获取产品。搜索过滤器页面包含在产品页面中:
代码
搜索过滤器页面
$cats = intval($_GET['cat']);
$sql = "SELECT * FROM Rest_Category
INNER JOIN Rest_Details
ON Rest_Category.CategoryID = Rest_Details.Cat_ID
WHERE Rest_Category.CategoryID = '" . $cats . "'";
$result = mysqli_query($dbc, $sql);
while ($row_cats = mysqli_fetch_array($result)) {
$rest_id = $row_cats['Resturant_ID'];
$rest_name = $row_cats['Resturant_name'];
echo '<p>$rest_id</p>' .
'<p>$rest_name</p>' .;
}
}
产品页面
function showCat(str) {
if (str == "") {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","getcats.php?cat="+str,true);
xmlhttp.send();
}
}
HTML
<div id="txtHint"><b></b></div>