where文字列を作成する代わりに、最初にwhereパーツを含む配列を作成します。
$whereParts = array();
foreach($aColumns as $i => $column)
{
<logic goes here>
$whereParts[] = 'genre_id IN (1,3,5,6)'; // sample :)
}
$where = 'WHERE ' . implode(' OR ', $whereParts); // note the spaces around OR
そうすれば、' OR '
を簡単に置き換えることができます。 ' AND '
を使用
ユーザーがすべてのwhereパーツに対してANDとORのどちらかを選択できるようにするのは簡単ですが、個々のアイテムごとに選択できるようにする場合はそうではありません。これも論理的な問題です。ユーザーがa OR b AND c
を指定した場合 、(a OR b) AND c
が必要ですか? またはa OR (b AND c)
?