Istället för att skapa en where-sträng skulle jag först skapa en array med where-delar.
$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
Då är det enkelt att ersätta ' OR '
med ' AND '
Det är lätt att tillåta användare att välja mellan OCH och ELLER för alla där delar, men inte om du vill göra det för varje enskild artikel. Det är också en logisk fråga. När användaren anger a OR b AND c
, skulle han vilja ha (a OR b) AND c
eller a OR (b AND c)
?