मैं वर्तमान में अपना स्वयं का सीएमएस कोडिंग कर रहा हूं और मैं search.php
के बिंदु पर हूं। मुझे 4 टेबलों में खोज करने की ज़रूरत है जो अलग-अलग कॉलम नामों को केवल एक क्वेरी में सहेजते हैं क्योंकि मेरा सर्वर सबसे तेज़ नहीं है।MySQL - खोजें PHP स्क्रिप्ट
cmw_admin
(उन तालिका)
+-----------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| role | int(11) | NO | | 1 | |
| username | text | NO | | NULL | |
| password | text | NO | | NULL | |
| email | text | NO | | NULL | |
| phone | text | NO | | NULL | |
| location | text | NO | | NULL | |
| full_name | text | NO | | NULL | |
| bio | text | NO | | NULL | |
| website | text | NO | | NULL | |
| last_login | datetime | NO | | NULL | |
| registered_date | datetime | NO | | NULL | |
| registered_ip | text | NO | | NULL | |
| credits | tinyint(1) | NO | | NULL | |
| online | int(11) | NO | | 0 | |
+-----------------+------------+------+-----+---------+----------------+
cmw_blog
(लेख तालिका)
+------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| title | text | NO | | NULL | |
| content | text | NO | | NULL | |
| date | datetime | NO | | NULL | |
| author | int(11) | NO | | NULL | |
| categories | text | NO | | NULL | |
| media | text | NO | | NULL | |
| thumb | text | NO | | NULL | |
+------------+----------+------+-----+---------+----------------+
cmw_projects
(पोर्टफोलियो)
+-------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| owner_id | int(11) | NO | | NULL | |
| title | text | NO | | NULL | |
| content | text | NO | | NULL | |
| date | date | NO | | NULL | |
| link | text | NO | | NULL | |
| img | text | NO | | NULL | |
| type | int(11) | NO | | NULL | |
| start_date | date | NO | | NULL | |
| end_date | date | NO | | NULL | |
| done | tinyint(1) | NO | | 0 | |
| screenshots | text | NO | | NULL | |
+-------------+------------+------+-----+---------+----------------+
:
मेरी डीबी व्यवस्था नहीं है
cmw_services
(सेवाओं तालिका)
+-------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| cat_id | int(11) | NO | | NULL | |
| name | text | NO | | NULL | |
| description | text | NO | | NULL | |
| img | text | NO | | NULL | |
| price | decimal(11,2) | NO | | NULL | |
+-------------+---------------+------+-----+---------+----------------+
मेरी खोज में, मैं हर name
/title
स्तंभों में और भी सभी description
/content
स्तंभों में स्ट्रिंग के लिए खोज करने की जरूरत है। स्पष्ट रूप से, मैं केवल एक प्रश्न में, उन सभी तालिकाओं को एक स्ट्रिंग के लिए खोजना चाहता हूं। क्या यह संभव है? मुझे पता है कि JOIN
, LEFT JOIN
, RIGHT JOIN
और INNER JOIN
का उपयोग करना आसान हो सकता है लेकिन मुझे नहीं पता कि उनका उपयोग कैसे किया जाए। Google उन चीज़ों पर बहुत स्पष्ट नहीं है!
+1। – Lion
एक जॉइन के साथ करना बहुत आसान है, लेकिन कोई भी मैच सभी 4 टेबलों से प्रत्येक कॉलम लौटाएगा। मुझे नहीं लगता कि यह इरादा व्यवहार है। इससे कोई फर्क नहीं पड़ता कि आपका सर्वर कितना धीमा है, आपको 4 प्रश्न करना चाहिए या अपने डेटाबेस को फिर से ढांचा बनाना चाहिए –