我在这里看到了有关此主题的一些问题,但没有一个问题解决了我的问题。我正在尝试使用SQL和复选框创建一个简单的过滤器。

到目前为止,我得到了以下代码:

<form action="#" method="GET" id="filter">
    <input type="checkbox" name="omgeving[]" value="Indoor">Indoor<br />
    <input type="checkbox" name="omgeving[]" value="Outdoor">Outdoor<br />
    <input type="submit" name="kies" value="Kies" />
</form>




<?php
if(isset($_GET['omgeving']) && count($_GET['omgeving'] > 0)) {
    $catid = implode(',', $_GET['omgeving']);
    $catid = mysql_real_escape_string($catid);

    $query = mysql_query("SELECT * FROM SomeWhere WHERE Omgeving IN (".$catid.")");

    while($row = mysql_fetch_assoc($query)) {
        $id = $row['Id'];
        $prod = $row['Product'];

        echo $prod . "<br />";
    }
}
?>


当我单击submit时,它执行了一些操作,将URL更改为:filtertest/?omgeving[]=Indoor&kies=Kies,但我认为查询无法正常工作,因为我的页脚通常消失了,这意味着我的代码不正确,并且页面不再继续加载。为了我的爱,我不知道为什么这不起作用...

有没有人可以帮助我?

我已检出此answer,但这不能解决我的问题。上面的代码至少可以执行某些操作。

求助...我在这里做错了什么?

最佳答案

omgeving[]更改为omgeving。因此,URL为?omgeving=Indoor&kies=Kies

<?php

if(isset($_GET['omgeving']) || !empty($_GET['omgeving'])){
  $catid = mysql_real_escape_string($_GET['omgeving']);
  //continue with what you are doing.
  // use var_dump(<variable>); exit(); to debug.
}

?>


希望对您有所帮助!

关于php - 使用复选框的SQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43063858/

10-11 12:31