Tree-structure Forum

dieanotherday

New member
Tree-structure Forum

היי לכולם, מישהו יודע אולי, איפה אפשר למצוא מדריך לבניית פורום בצורת עץ כזה כמו "תפוז"? או שמישהו יכול להסביר, אני בטוח שזה לא כזה מסובך. זה(הרעיון) מסתובב לי בראש, אבל אני לא יודע איך לממש את זה. צריך עזרה, תודה.
 

stac

New member
שלוש שיטות,

רקורסיבי, לינארי ושילוב בינהם, חפש בפורום ASP, אותם רעיונות.
 

GPhoenixX

New member
יש לי דרך מאד פשוטה ...

אבל אני לא בטוח שהכי טובה ... עם רקורסיה ! למעשה כתבתי כזה קוד די מזמן, אולי הוא יעזור לך :
<? $numPosts=0; function tree($id,$count) { global $numPosts; $sql=mysql_query("SELECT user,id,title FROM tree WHERE parent=".$id." ORDER by id DESC"); if (mysql_num_rows($sql) >0) { $count++; while ($ligne=mysql_fetch_array($sql)) { $numPosts++; for ($i=1;$i<=$count;$i++) { echo " "; } echo "<span><b>".(htmlspecialchars($ligne['user']))."</b></span> : <a href='javascript: showPost(".$numPosts.")'>".(htmlspecialchars($ligne['title']))."</a> <a href='javascript:reply(".$ligne['id'].");'><b>R</b></a><span id='".$numPosts."'></span><br />"; tree($ligne['id'],$count); } } else { $count--; } } echo "<font size='3'><a href='javascript:reply(1);' class='s'>New Topic</a></font><br/>"; tree(1,-1); ?>​
וכמובן
mysql_query("CREATE TABLE `tree` ( `id` smallint(5) unsigned NOT NULL auto_increment PRIMARY KEY, `title` varchar(40) NOT NULL default '', `parent` smallint(5) unsigned NOT NULL, `body` text NOT NULL, `user` varchar(15) NOT NULL default 'Guest' )") or die(mysql_error()."1");​
 

dieanotherday

New member
לא ממש יצא...

או שאני בכלל טיפש ב-TREE STRUCTURE. אולי תסבירו לי פשוט איך זה עובד איך משתמשים עם PARENT ו CHILD, עם ה-ID שלהם. נגיד ויש לי הודעה ראשית(parent) ויש תגובה, שזה child: *ראשית *תגובה *תגובה *תגובה ...
 

GPhoenixX

New member
->

לכל הודעה יש את הid שלה ( unique ) ואת הparent שלה. 1.הודעה (0) 2. *הודעה (1) 3. *הודעה (2) 4. *הודעה(1) המספר לפני זה הid ובסוגריים זה הparent id של ההודעה. אחרי ששומרים את הנתונים ככה צריך פשוט להציג אותם ככה, ואת זה אתה יכול לראות בקוד שלי, כל פעם פותחים הודעה שהparent שלה הוא 0 (הודעה ראשית) ומחפשים הודעות שהparent שלה זה הid שלה. אם מצאת, אתה ממשיך לחפש הודעות שהparent שלהם זה הid של ההודעה שמצאת וכו', פה הרקורסיה .. מקווה שתסתדר ;P
 

dieanotherday

New member
בקוד שלך יוצא...

שכל הודעות אחת מתחת לשנייה ככה: 1 2 3 ואני רוצה לסדר אותם ככה: 1 2 3
 

GPhoenixX

New member
בכלל

קראת את מה שכתבתי או את הקוד ? כל הודעה מוצגת מתחת לparent שלה, אם תשים הודעה עם id 1 עם parent 0 ואז id 2 עם parent 1 ו id 3 עם Parent 2 זה יראה ככה ...
 

dieanotherday

New member
מחפש

חיפשתי בכל האינטרנט הפכתי כל אתר ניראה לי, ולא מצאתי Tutorials לגבי בניית פורום עץ(tree)... זה לא יכול להיות שאין באף מקום. O_O
 

dieanotherday

New member
יוצה לי ככה ש...

אני מציג הודעות אחת אחרי הנייה, והכל טוב ויפה, אבל: התגובות להודעות לא יוצא לי לסדר כמו שצריך,, אני מקבל את זה: Parent 03 Parent 02 +-child 04 +--child 03 +---child 02 +----child 01 Parent 01 וצריך להיות ככה: Parent 03 Parent 02 +-child 01 +--child 02 +---child 03 +----child 04 Parent 01 ז"א שהודעות מסודרות כמו שצריך החדשות למעלה וישנות למעטה, ובתגובות צריך קודם ישנות ואחר כך חדשות. מה עושים, איך לסדר בנפרד???
 

dieanotherday

New member
ואיך אני מעדכנים הודעה..

נגיד שהודעה ישנה כבר והיא מופיעה מתחת להודעה אחרונה בפורום, אבל מישהו הוסיף תגונה והיא אמורה לחזור עוד פעם למקום ההודעה הראשונה בפורום.. אז מה עושים במקרא כזה??
 

kensaggy

New member
מדריך לפורום עץ לינארי

http://www.guides.co.il/forums/viewtopic.php?t=3147 מומלץ מאד. בהצלחה. -חן.
 

dieanotherday

New member
בררר....

לא אני ממש לא הסתדרתי עם הקודים האלה, אני רק התחלתי לעבוד על פורום מסוג כזה, ועדיין נראה כל כך מסובך. אני סידרתי הכל וגיליתי שיש בעיה של סידור ההודעות, ז"א: איך מעלים הודעה מאמצע של הפורום(הודעה ישנה) שקיבלה תגובה ועושים אותה ראשונה(חדשה)?
 

kensaggy

New member
זה לא...

כיצד עושים את זה לא רואים במדריך שקישרתי אליו. כדי לעשות את זה אפשר לעשות שדה נוסף בבסיס הנתונים של מתי התקבלה התגובה האחרונה ואח"כ לסדר את ההודעות לפי הסדר של השדה הזה. -חן.
 

dieanotherday

New member
כן אני מנסה את זה כבר,

ניסיתי והסתבכתי עם זה, אולי אתה יכול לתת דוגמה קצרה?
 

GPhoenixX

New member
.....

אני היחיד שמסר הודעות בפורומים באמצעות הid ולא התאריך ? ;S ORDER BY id DESC
 
למעלה