एक स्ट्रिंग बनाने के बजाय, मैं पहले कहाँ भागों के साथ एक सरणी बनाऊँगा।
$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 '
. के साथ
उपयोगकर्ताओं को सभी भागों के लिए AND और OR के बीच चयन करने की अनुमति देना आसान है, लेकिन यदि आप प्रत्येक व्यक्तिगत आइटम के लिए ऐसा करना चाहते हैं तो नहीं। यह भी एक लॉजिक इश्यू है। जब उपयोगकर्ता a OR b AND c
. निर्दिष्ट करता है , क्या वह (a OR b) AND c
. चाहेगा या a OR (b AND c)
?