php - mysql select recursive query -
मेरे पास यह तालिका है:
मैं कोशिश कर रहा हूं कि इस तरह से एक श्रेणीबद्ध कॉम्बो आइए:
यह एक चुनिंदा बयान के द्वारा ऐसा करने योग्य है या मैं PHP द्वारा कैसे इसे लागू कर सकता हूं? मैं googling था और मुझे पता चला कि यह रिकर्सिव फ़ंक्शंस का उपयोग कर सही है लेकिन यह मेरे लिए नया है और मैं इसे लागू नहीं कर सकता। क्या कोई मुझे एक विचार दे सकता है?
अपडेट: - आखिरकार मैंने मेरी समस्या हल की मैं @ उपयोगकर्ता 2433317 कोड के आधार पर एक रिकर्सिव फ़ंक्शन बना रहा हूं, पहले मैं प्रत्येक स्तर पर रिक्त स्थान की मात्रा को नियंत्रित करने के लिए एक चर बनाने और आरंभीकृत करता हूं
$ n = -3;
अगला मैं रिकर्सिव फ़ंक्शन लिखता हूँ
फ़ंक्शन ShowSubCats ($ id) {वैश्विक $ cn, $ n; $ Sql = "चुनें * मेनू से WHERE idPadre = '$ id';"; $ R = mysqli_query ($ cn, $ sql); अगर (mysqli_num_rows ($ r) & gt; 0) {$ n + = 3; जबकि ($ पंक्ति = mysqli_fetch_object ($ r)) {echo "& lt; option value = '$ row- & gt; id' & gt;"। Space ($ n)। $ Row- & gt; titulo। "& Lt; / option & gt; " ; ShowSubCats ($ row- & gt; आईडी); } $ N- = 3; }}
और इसे 0 तर्क के साथ कहते हैं जिसका अर्थ है आईडीपैडर = 0 के पास माता-पिता नहीं हैं। अंत में यह अंतरिक्ष समारोह है
फ़ंक्शन स्पेस ($ n) {$ str = ""; ($ I = 0; $ i & lt; $ n; $ i ++) के लिए {$ str। = "& Amp; nbsp;"; } वापसी $ str;
}
और परिणाम यहां दिखाया गया है
आपके उत्तर के लिए धन्यवाद और मेरी अंग्रेजी के लिए खेद बहुत अच्छा नहीं है
ऐसा कुछ इस तरह की चाल करना चाहिए, अभिभावक श्रेणियों को प्राप्त करें, फिर सभी बच्चे प्राप्त करने के लिए एक पुनर्संरसिक समारोह को कॉल करें।
$ sql = "चयन से * तालिका में जहां आईडीपैंट = 0"; $ परिणाम = mysqli_query ($ sql); जबकि ($ पंक्ति = mysqli_fetch_array ($ परिणाम)) {गूंज '& lt; li & gt;' । $ पंक्ति ['शीर्षक']) '& Lt; / li & gt;'; ShowSubCats ($ पंक्ति [ 'आईडी']); } समारोह ShowSubCats ($ वर्ग) {$ sql = "SELECT * से तालिका WHERE idparent = '$ categoryid';"; $ परिणाम = mysqli_query ($ sql); यदि (mysqli_num_rows ($ परिणाम) & gt; 0) {जबकि ($ row = mysqli_fetch_array ($ परिणाम)) {गूंज '& lt; li & gt;' । $ पंक्ति ['शीर्षक'] '& Lt; / a & gt;'; ShowSubCats ($ पंक्ति [ 'idparent']); गूंज & lt; / li & gt; '; }}
Comments
Post a Comment