यह
वेबसाइट में mysql और PHP में पदानुक्रमित डेटा संग्रहीत करने के विभिन्न तरीकों का वास्तव में अच्छा अवलोकन है। अपने प्रश्न का उत्तर देने के लिए, PHP और रिकर्सन का उपयोग करना सबसे आसान तरीका है। ऐसी और भी विधियां हैं जिनका आप उपयोग कर सकते हैं जैसे modified preorder transversal
, जिसके लिए एकाधिक डेटाबेस प्रश्नों की आवश्यकता नहीं होती है। लेकिन बहुत सारे सम्मिलन और अद्यतनों से निपटने के दौरान यह विधि लागू करने के लिए और अधिक जटिल हो सकती है।
एक और वास्तव में अच्छी विधि और मेरा व्यक्तिगत पसंदीदा तथाकथित "क्लोजर टेबल" / "आसन्नता संबंध" है जिसका उल्लेख एक फ्लैट टेबल को पेड़ में पार्स करने का सबसे कुशल/सुरुचिपूर्ण तरीका क्या है?
आपकी टिप्पणी के संबंध में आपको मूल रूप से एक लूप या रिकर्सिव फ़ंक्शन बनाना होगा जो शिकागो के माता-पिता का चयन करता है, फिर माता-पिता के माता-पिता और आगे।
$stack = array();
$parent = 3;
while($parent != 0){
$data = (put your mysql to get the row with parentID = $parent)
$parent = data['parentID'];
$stack[] = $data;
}
$stack = array_reverse($stack);
स्टैक में तब शिकागो के माता-पिता शामिल होंगे, (अर्थात स्थान, यूएसए)