如何基于多个复选框值进行查询

时间:2014-12-03 19:28:14

标签: php mysql checkbox

我想根据复选框的输入进行查询。

这是我做的:

       <form action="#" method="GET" id="filter"> 
<input type="checkbox" name="toe[]" value="ja">ja<br /> 
<input type="checkbox" name="toe[]" value="misschien">misschien<br/> 
<input type="checkbox" name="toe[]" value="nee">nee<br/>
 <input type="submit" name="kies" value="Kies" /> 
</form>


 if(isset($_GET['toe']) && count($_GET['toe'] > 0)) { 
$toeid = implode(',', $_GET['toe']);
$toeid = mysql_real_escape_string($toeid); 
}

$sql = "SELECT  * 
FROM `table` 
WHERE TOEGEZEGD = '$toeid'
ORDER BY $field $sort";

这样可行,但只有选中了1个复选框,否则我会得到ja,nee的输出,但这不起作用。

我还希望(如果可能的话)返回时,查询中勾选的复选框将保持勾选状态。但第一个是重要的,其余的将会到来。

1 个答案:

答案 0 :(得分:0)

您需要的是WHERE TOEGEZEGD IN (...)条款,而不是您在此处拥有的条款。这需要单独转义所有传入参数并使用逗号连接它们。