मैं सामग्री तालिका है कि इस तरह की स्थापना की है के एक बिल है बनाने के लिए:
आइटम - जब मैं सामग्री के बिल को प्रदर्शित किया जाता है माता पिताMySQL क्वेरी का उपयोग करना पंक्तियों पार करने के लिए एक पुनरावर्ती पेड़
अंतिम परिणाम यह है कि इस तरह प्रदर्शित होता है:
item 1 - parent 0
item 2 - parent 1
item 3 - parent 1
अंतिम परिणाम भी इस तरह बहु स्तर हो सकता है:
item 3 - parent 0
item 4 - parent 3
item 76 - parent 3
और यह अनंत तक पर जा सकते हैं:
item 76 - parent 0
item 46 - parent 76
item 46 - parent 0
item 25 - parent 46
अभी, मैं या तो सिर्फ 1 स्तर डेटाबेस से मिलती है:
SELECT * FROM bom WHERE parentId = $itemId (shorthand)
या मेज से प्रत्येक पंक्ति खींच और सिर्फ लोगों को मैं जरूरत सुलझाने के लिए मेरी पुनरावर्ती क्रिया का उपयोग करें, लेकिन यह स्पष्ट रूप से अक्षम है क्योंकि मुझे केवल 10 पंक्तियों की आवश्यकता हो सकती है, लेकिन मैं 10,000 रिकॉर्ड खींचता हूं। पुनरावर्ती क्रिया के उत्पादन में सिर्फ इस तरह एक पेड़ बना देगा:
item 1
item 2
item 3
item 4
item 76
item 46
item 25
सभी मुझे पता है कि मैं आइटम 1. आइटम 5 पर शुरू कर रहा हूँ 11 के एक माता पिता हो सकता है, उन्हें अनुक्रमिक जाना नहीं है। मैं पेड़ में सभी बाल शाखाएं प्राप्त करना चाहता हूं। मैं mysql में यह क्वेरी कैसे कर सकता हूं?
उत्कृष्ट प्रक्रिया। लेकिन फिर 'चयन आईडी, GetFamilyTree (आईडी) pctable से; 'एक त्रुटि फेंकता है: _ERROR 1292 (22007): गलत डबल मूल्य काट दिया:' 4,5'_। मैंने इसे डीबग करने की कोशिश की, लेकिन व्यर्थ में। क्या आपको कोई विचार होगा! धन्यवाद – idok