2011-03-01 13 views
11

सोच रहा है कि मैं php में और एक mysql डेटाबेस के साथ टैगिंग सिस्टम कैसे बना सकता हूं, मेरे प्रारंभिक विचार तालिका में एक पंक्ति बनाने के लिए थे जहां आलेख संग्रहीत किए जाते हैं, टैग नामित होते हैं, और अल्पविराम से अलग टैग सूचीबद्ध करते हैं, लेकिन मैं नहीं हूं सुनिश्चित करें कि मैं एक क्वेरी कैसे बना सकता हूं जो मेल खाने वाले टैग की खोज करता है, मैं प्रत्येक लेख को प्रत्येक बार टैग पर क्लिक करने के लिए हर लेख से पूछना नहीं चाहता हूं। क्या कोई मदद कर सकता है?मैं php और mysql का उपयोग कर टैगिंग सिस्टम कैसे बना सकता हूं?

+5

मैं "डेटाबेस सामान्यीकरण" पर पढ़ने का सुझाव चाहते हैं। एक अच्छी शुरुआत http://en.wikipedia.org/wiki/Database_normalization होगी। –

उत्तर

30

आप का वर्णन कर रहे हैं एक बहुत-से-अनेक के बीच के रिश्ते लेख और टैग। आप उस रिश्ते को हल करने के लिए एक मध्यवर्ती जंक्शन तालिका का उपयोग करना चाहते हैं।

enter image description here

अब, वे सभी लेख एक चयनित टैग से मिलान को खोजने के लिए:

SELECT a.article_title 
    FROM Tag t 
     INNER JOIN Article_Tag_Xref atx 
      ON t.tag_id = atx.tag_id 
     INNER JOIN Article a 
      ON atx.article_id = a.article_id 
    WHERE t.tag_name = 'SelectedTagName' 
+0

यह बहुत अच्छा लग रहा है, बीमार इसे देखना है। धन्यवाद! – mcbeav

2

tbl_articles, articleID है आदि

tbl_tags tagID है, आदि

tbl_taggedarticles taggedArticleID, articleID, tagID

SELECT articleID FROM tbl_taggedarticles WHERE tagID = "searchedID" 
संबंधित मुद्दे

 संबंधित मुद्दे