我在这里看到了有关此主题的一些问题,但没有一个问题解决了我的问题。我正在尝试使用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/