In plaats van een waar-tekenreeks te maken, zou ik eerst een array maken met waar-onderdelen.
$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
Dan is het eenvoudig om ' OR '
. te vervangen met ' AND '
Het is gemakkelijk om gebruikers te laten kiezen tussen EN en OF voor alle onderdelen, maar niet als u dat voor elk afzonderlijk item wilt doen. Dat is ook een logische kwestie. Wanneer de gebruiker a OR b AND c
. opgeeft , zou hij (a OR b) AND c
. willen of a OR (b AND c)
?