मुझे जिस वेबसाइट पर काम कर रहा है, उसके लिए मुझे एक उन्नत खोज स्क्रिप्ट बनाने के लिए कुछ मार्गदर्शन चाहिए।PHP/MYSQL उन्नत खोज स्क्रिप्ट। कैसे?
मुझे पहले से ही पता है कि सरल प्रश्नों के लिए डेटाबेस कैसे खोजा जाए। मैं जिस समस्या का सामना कर रहा हूं वह अब कई चुनिंदा बक्से का उपयोग करते समय खोजना है। उदाहरण के लिए:
यह विभिन्न खोज विकल्पों के साथ सिर्फ एक सरल रूप है। सवाल यह है:
विज़िटर देश या शहर, दोनों या तीनों विकल्पों के साथ भी खोजना चुन सकता है।
मैं इसे PHP स्क्रिप्ट में कैसे पकड़ूं? क्या मुझे यह जांचना है कि उदाहरण के लिए एक शहर चुना गया है, और उस पर आधारित एक क्वेरी आग लगाना है? लेकिन अगर मैं ऐसा करता हूं तो मुझे प्रत्येक चयन विकल्प के आधार पर अलग-अलग प्रश्न पूछना होगा।
छद्म कोड में यह कुछ इस तरह होगा: (मुझे लगता है)
अगर देश और शहर और कुछ और अशक्त नहीं है, डेटाबेस में सभी तीन तालिकाओं में खोज करने के लिए एक प्रश्न का शुभारंभ।
लेकिन देश को चुना गया है, तो क्या करना है? या सिर्फ शहर?
क्या इसे पूरा करने का कोई आसान तरीका है?
अग्रिम धन्यवाद।
$qry = "SELECT * FROM table WHERE ";
if ($country != '') {
$qry .= "country='".mysql_real_escape_string($country)."' AND "
}
if ($city != '') {
$qry .= "city='".mysql_real_escape_string($city)."' AND "
}
$qry .= '1';
$res = mysql_query($qry);
क्वेरी क्या सेट किया गया है के आधार पर बनाया गया है:
लगता है जैसे आप पहले से ही अपने प्रश्न का उत्तर दे चुके हैं। – diagonalbatman
खैर, इसे पूरा करने का सरल तरीका कुछ [ल्यूकेन] (http://framework.zend.com/manual/en/zend.search.lucene.overview.html) या [स्फिंक्स] (http: //sphinxsearch.com/), लेकिन यह "सरल" काम की आपकी परिभाषा पर निर्भर हो सकता है :) –
अपने "छद्म कोड" में आप उल्लेख करते हैं कि शहर और देश अलग-अलग तालिकाओं में हैं। क्या यह सच है?या वे एक ही टेबल के भीतर कॉलम अलग हैं? यदि वे वास्तव में एक अलग तालिका में हैं तो आपको टेबल में शामिल होने की आवश्यकता होगी ताकि आप एक एकीकृत परिणाम सेट प्राप्त कर सकें। – sholsinger