隐藏与类别选择无关的产品(搜索过滤器)

时间:2016-05-22 20:54:29

标签: php jquery mysql

我有一个下拉搜索过滤器,可以按产品类别缩小用户搜索范围,例如,如果他们选择汉堡包,则会显示汉堡包。

我的搜索过滤器工作正常,因为它显示正确的产品。但即使在选择类别后,类别产品显示在页面顶部,而所有其他产品都可以在页面底部看到,我的问题是如何隐藏不在选定内容中的产品类别。

例如,仅显示来自汉堡的产品,而不是其他内容。

我的产品页面代码与搜索过滤器页面(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>

0 个答案:

没有答案