我想根据复选框的输入进行查询。
这是我做的:
<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的输出,但这不起作用。
我还希望(如果可能的话)返回时,查询中勾选的复选框将保持勾选状态。但第一个是重要的,其余的将会到来。
答案 0 :(得分:0)
您需要的是WHERE TOEGEZEGD IN (...)
条款,而不是您在此处拥有的条款。这需要单独转义所有传入参数并使用逗号连接它们。