PHP/MySQL में श्रेणी पदानुक्रम
इस परिदृश्य में, हमारा लक्ष्य MySQL से श्रेणियों और उप-श्रेणियों का एक पदानुक्रमित प्रतिनिधित्व प्राप्त करना है डेटाबेस. हमारा उद्देश्य डेटा को एक नेस्टेड प्रारूप में संरचित करना है जो डेटाबेस के भीतर वास्तविक पदानुक्रम को प्रतिबिंबित करता है।
इसे प्राप्त करने के लिए, हम आसन्न सूची मॉडल का लाभ उठाते हैं, जो हमें एक ही पास में पदानुक्रम उत्पन्न करने में सक्षम बनाता है। हम डेटा को संसाधित करने और पदानुक्रमित प्रतिनिधित्व का निर्माण करने के लिए एक PHP स्क्रिप्ट का उपयोग करते हैं।
पहले चरण में श्रेणियों और उप-श्रेणियों के साथ-साथ उनके संबंधित माता-पिता-बच्चे संबंधों को पुनः प्राप्त करने के लिए डेटाबेस को क्वेरी करना शामिल है। एक बार डेटा प्राप्त हो जाने के बाद, हम त्वरित पहुंच के लिए संदर्भों की एक सरणी बनाते हैं।
इसके बाद, हम पुनर्प्राप्त डेटा के माध्यम से लूप करते हैं और संदर्भ सरणी को पॉप्युलेट करते हैं। हम मूल श्रेणियों (parent_id = 0) की पहचान करते हैं और उन्हें सूची सरणी में जोड़ते हैं। उप-श्रेणियों के लिए, हम उन्हें संदर्भ सरणी में संबंधित मूल श्रेणी में बच्चों के रूप में जोड़ते हैं।
पदानुक्रमित आउटपुट उत्पन्न करने के लिए, हम एक पुनरावर्ती फ़ंक्शन, toUL() को परिभाषित करते हैं, जो संदर्भ सरणी को पार करता है और एक निर्माण करता है नेस्टेड HTML अनऑर्डर्ड सूची (UL)। फ़ंक्शन इनपुट के रूप में एक सरणी लेता है और एक UL तत्व बनाता है।
फ़ंक्शन के भीतर, हम सरणी के माध्यम से पुनरावृत्त करते हैं और प्रत्येक श्रेणी के लिए एक LI (सूची आइटम) तत्व बनाते हैं। यदि श्रेणी में बच्चे हैं, तो हम सबट्री बनाने के लिए toUL() फ़ंक्शन को पुनरावर्ती रूप से कॉल करते हैं। फ़ंक्शन पदानुक्रम का निर्मित HTML प्रतिनिधित्व लौटाता है।
यह विधि हमें नेस्टेड रूप में श्रेणी पदानुक्रम को कुशलतापूर्वक और सटीक रूप से प्रस्तुत करने की अनुमति देती है, जिसे आसानी से HTML दस्तावेज़ के रूप में प्रस्तुत किया जा सकता है या आगे की प्रक्रिया के लिए उपयोग किया जा सकता है।
&&&]अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3