抱歉,如果该标题含糊不清,我什至无法想到我正在尝试做的事情......将更新给定的评论。
我有两组复选框,第一组(称为代码)有 5 个选项,第二组有 20 个选项(称为家庭)。目前为了为我的查询构造一个 WHERE 语句,我这样做:
if(isset($_POST['code']) && !empty($_POST['code'])){
foreach($_POST['code'] as $key=>$value){
if($value==1) $criteria[] = "code='".mysql_escape_string($key)."'";
}
$criteria = implode(' OR ', $criteria);
}
if(isset($_POST['family']) && !empty($_POST['family'])){
foreach($_POST['family'] as $key=>$value){
if($value==1) $family_criteria[] = "family='".mysql_escape_string($key)."'";
}
$family_criteria = implode(' OR ', $family_criteria);
}
这是查询的一部分
WHERE $criteria AND $family_criteria ORDER BY ....
这将导致“WHERE code=1 OR code=2 AND family=jones ORDER BY...”
而我需要它做的是“WHERE code=1 and family=jones OR code=2 and family=jones ORDER BY...”