そのタイトルがあいまいな場合は申し訳ありません。私がやろうとしていることを何と呼ぶべきかさえ考えられません...与えられたコメントを更新します。
最初の(コードと呼ばれる)セットには5つのオプションがあり、2番目のセットには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 ...」です。