31-12-2008, 09:34
|
|
|
חבר מתאריך: 08.03.08
הודעות: 11
|
|
נניח שקיים עץ הודעות והוא שמור בטבלא
בטבלא קיימים 3 שדות:
id - שהוא המזהה של השורה, הוא המפתח, מוגדר כ auto_increment
parent - משייך את ההודעה לענף המתאים לה, משרשר אותה להודעת שורש אם תרצה - שווה לid של ההודעה שאליה היא משתייכת.
branch - שהוא הענף הראשי- ההודעה שממנה התחיל כל השרשור
message - תוכן ההודעה
במצב זה בעץ יש לנו הודעות ראשיות ומשניות (ומשניות למשניות וכו')
עכשיו אני רוצה להציג ענף מסויים עם כל ההודעות שתחתיו.
במידה והbranch של כל ההודעות שווה (כולל הbranch של ההודעה הראשית- ששווה לערך הid שלה) אני אוכל להציג את כולו בעזרת שאילתת sql את בלבד.
כמובן שאני יכול לעשות זאת בדרך אחרת, בה בשביל להציג את השרשור אני אצטרך להשוות גם לid וגם לbranch, אבל עפ"י היגיון אמורות להיות יותר צפיות בשרשורים מאשר הוספת הודעות ראשיות חדשות ולכן עבודה בדרך זו בעצם מייעלת את כל התוכנית מכיוון שאותו פלט יוצג בעבור מספר קטן יותר של שאילתות.
יכול להיות שכל העניין זניח, אך הייתי רוצה לדעת בכל זאת אם קיימת דרך..
|