मैं ऐसी साइट पर एक 'उन्नत खोज' पृष्ठ पर काम कर रहा हूं जहां आप 'मुझे पसंद है' जैसे कीवर्ड दर्ज करेंगे और यह निम्न विकल्पों का उपयोग कर डेटाबेस खोज सकता है:PHP/MySQL 'उन्नत खोज' पृष्ठ
खोजें:
: सभी शब्दों, सटीक वाक्यांश के साथ, शब्दों का कम से कम एक साथ शब्द
मैं द्वारा 'सटीक वाक्यांश' की देखभाल कर सकते हैं बिना, के साथ
SELECT * FROM myTable WHERE field='$keyword';
द्वारा 'कम से कम शब्दों में से एक':
SELECT * FROM myTable WHERE field LIKE '%$keyword%';//Let me know if this is the wrong approach
लेकिन इसके और 'शब्दों का कम से कम एक साथ' है कि मैं पर अटक कर रहा हूँ 'शब्द के बिना'।
इन दोनों को कार्यान्वित करने के तरीके पर कोई सुझाव?
संपादित करें: के बारे में
(field='$keywords') OR ($field='$keywords) (OR)....
जोड़ने के लिए 'कम से कम एक शब्द' एक अच्छा दृष्टिकोण विस्फोट() शब्द में कीवर्ड को तोड़ने के लिए एक पाश का उपयोग करने के लिए, और चलाने के लिए यह नहीं होगा क्योंकि वहाँ क्वेरी में कुछ अन्य और/या खंड भी हैं और मुझे अधिकतम क्लॉज के बारे में पता नहीं है।
+1, यह सबसे अच्छा जवाब है, लेकिन मैं भी विवरण है कि mysql पर fulltext केवल myisam तालिकाओं के लिए उपलब्ध है, न कि असंख्य लोगों के लिए। इसलिए आप लेनदेन की स्थिरता या खोज के बीच चयन करते हैं। –
यदि आप कुछ स्रोत कोड देते हैं जो दिखाता है कि दो विशेषताएं (यानी सभी शब्द और शब्दों के बिना) कैसे किया जा सकता है पूर्ण पाठ के साथ मैं आपका जवाब स्वीकार कर सकता हूं। –
मुझे आपको कुछ नमूना कोड प्रदान करने में प्रसन्नता होगी। अगर आप मुझे बता सकते हैं कि आपके खोज फ़ॉर्म में दो अलग-अलग फ़ील्ड हैं और बिना किसी के क्षेत्र के उपयोग कर रहे हैं? यदि यह है एक फ़ील्ड आप उपयोगकर्ता को उन शब्दों को जोड़ने की अनुमति दे सकते हैं जो एक - –