אני יכול לנסות להסביר לך...
כמו שאמרת אתה אכן כותב פונקציה רקורסיבית. אני אסביר קודם על המסד: השדות הבסיסיים ההכרחיים הם: קוד הודעה,קוד הודעה ראשית,נושא תוכן תאריך וכו' וכו' קודם כל אתה עושה שאילתה לכתוב את כל ההודעות הראשיות, בתוך הלולאה שאתה רץ על כל ההודעות הראשיות אתה קורא לפונקציה הרקורסיבית ( showChildren לצורך העניין ) לפונקציה הזו אתה שולח את הקוד של אותה הודעה ראשית ובתוך הפונקציה אתה עושה שאילתה שבה אותו קוד ראשי שקיבלת מהפונקציה כאמור יהיה שווה לקוד ההודעה הראשית אתה כותב את ההודעה ואז שוב פעם אתה קורא לפונקציה showChildren - שזה הילדים של ההודעה הזו שהיא עצמה ילד של ההודעה הראשית. תראה אני יודע שזה מסובך ובילבלתי לך תשכל - אם אתה רוצה אני מוכן להביא לך את הקוד ( ב asp להמיר ל .net זה לא בעיה) פשוט תשאיר לי אימייל ואני אשלח לך תראה כמה שזה פשוט וקומונקטיבי...