Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

गतिशील रूप से बनाया गया WHERE क्लॉज PHP/MySQL

एक स्ट्रिंग बनाने के बजाय, मैं पहले कहाँ भागों के साथ एक सरणी बनाऊँगा।

$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) ?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL अगर दिनांक विवरण?

  2. तालिका में डेटा सम्मिलित करने के लिए MySQL को लूप करें

  3. SQL में पदानुक्रमित टैगिंग

  4. सी # के साथ एक मैसकल डीबी से कनेक्ट करना - डेटासेट के साथ कुछ चाहिए

  5. एक mysql डेटाबेस से केवल डेटा प्रदर्शित करना जो आज की तारीख से है