php - Retrieve a complete list of all Categories, Sub Categories, Sub Sub Categories, etc. in only one SQL query -


मेरे पास तालिका संरचना और MySQL में डेटा है

  CatID CatName ParentCatID ---- --------------------------- 1 शर्ट्स नल 2 शॉर्ट स्लेव 1 3 लांग स्लेव 1 4 कॉलरलेस 2 5 कॉलर 2 6 कॉलरलेस 3 7 कॉलर 3 8 स्क्वायर कट 4 9 राउंड कट 4 10 स्क्वायर कट 6 11 राउंड कट 6  

डेटा जो मैं चाहता हूँ, वह इस तरह से कुछ है:

  shirts & gt; लघु स्लेव शर्ट्स & gt; लांग स्लेव शर्ट्स & gt; लघु स्लेव & gt; कॉलरलेस शर्ट्स & gt; लघु स्लेव & gt; कॉलर शर्ट्स & gt; लांग स्लेव & gt; कॉलरलेस शर्ट्स & gt; लांग स्लेव & gt; कॉलर शर्ट्स & gt; लघु स्लेव & gt; कॉलरलेस & gt; स्क्वायर कट शर्ट्स & gt; लघु स्लेव & gt; कॉलरलेस & gt; गोल कट शर्ट्स & gt; लघु स्लेव & gt; कॉलर & gt; स्क्वायर कट शर्ट्स & gt; लघु स्लेव & gt; कॉलर & gt; राइट कट  

हम इन डेटा को एक एसक्यूएल क्वेरी का उपयोग करके MySQL में कैसे प्राप्त कर सकते हैं?

वास्तव में कोई जवाब नहीं है, लेकिन मैंने पिछली पीएचपी में गंदे निश्चय का उपयोग किया है ऐसा कुछ है:

  $ categories = array (); $ Sql ​​= "चयन करें कैटिड, कैटनाम, पेंटरकैट आईडी से टेबलनाम"; $ Res = mysql_query ($ sql); जबकि ($ पंक्ति = mysql_fetch_assoc ($ res)) {$ parent = intval ($ पंक्ति ['ParentCatId']); यदि (! Isset ($ श्रेणियां [$ माता पिता])) {$ श्रेणियां [$ parent] = array (); } $ श्रेणियां [$ पैरेंट] [] = $ पंक्ति; }  

यह आपको श्रेणियों और उप-श्रेणियों की एक सरणी देगा जो आप पुनरावर्ती समारोह के साथ दोहरा सकते हैं। कुछ ऐसा है:

  फ़ंक्शन build_categories ($ अभिभावक, $ श्रेणियां) {यदि (isset ($ श्रेणियां [$ मूल]) & amp; amp; गणना ($ श्रेणियां [$ माता पिता])) {गूंज '& lt; ul & gt;'; विदेशी मुद्रा ($ श्रेणियां [$ पैरेंट] $ श्रेणी के रूप में) {गूंज '& lt; li & gt; & lt; a href = "#" & gt;' । $ श्रेणी ['केटनाम'] '& Lt; / a & gt;'; गूंज बिल्डकैग्ज ($ श्रेणी ['आईडी'], $ श्रेणियां); गूंज & lt; / li & gt; '; } प्रतिध्वनि '& lt; / ul & gt;'; }} $ Menu = build_categories (0, $ श्रेणियां);  

Comments

Popular posts from this blog

email - PHP mail error ... failed to open stream : permission denied -

c# - ListView onScroll event -

c - Linux mmap() error -