I stedet for at oprette en where-streng, ville jeg først oprette et array med where-dele.
$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
Så er det nemt at erstatte ' OR '
med ' AND '
Det er nemt at tillade brugere at vælge mellem OG og ELLER for alle dele, men ikke hvis du vil gøre det for hvert enkelt element. Det er også et logisk problem. Når brugeren angiver a OR b AND c
, vil han have (a OR b) AND c
eller a OR (b AND c)
?