我想使用多个复选框来执行多重搜索查询,这些复选框代表特定的文本框。
如何创建一个mysql查询,它将过滤已选中和未选中的复选框(可能使用if语句)?
查询应该能够过滤checked和ucnchecked框并使用AND条件查询它们。
由于
答案 0 :(得分:1)
Mysql将无法处理您的html表单帖子。您需要使用服务器端语言来检查所设置的复选框,然后使用其他条件修改查询。
如果你更具体,你可能会得到更好的回应,但我会给你一个php的例子。假设您的表单看起来像:
<form method="post">
<input type="checkbox" name="field1_cb" value="1" />
<input type="text" name="field1_txt" />
<br /><br />
<input type="checkbox" name="field2_cb" value="1" />
<input type="text" name="field2_txt" />
</form>
您的服务器代码可能如下所示:
$query = "SELECT * FROM tbl WHERE field0 = 'asdf' ";
$fields = array('field1','field2');
foreach($fields as $f){
if(isset($_POST[$f.'_cb'])){
$query .= " AND $f = ".$_POST[$f.'_txt'];
}
}
//Run your query...
请不要直接复制和粘贴此代码,这是令人作呕的不安全感。只是想让你开始。