2013-03-15 85 views
0

我有一個表PHP,MySQL和笨

CREATE TABLE IF NOT EXISTS forum_comments (
comment_id int(11) NOT NULL AUTO_INCREMENT, 
comment_by int(11) NOT NULL, 
topic_id int(11) NOT NULL, 
parent int(11) NOT NULL DEFAULT '0', 
comment text NOT NULL, 
commented_date datetime NOT NULL, 
commented_type enum('user','admin') NOT NULL DEFAULT 'user', 
level int(11) NOT NULL DEFAULT '1', 
status enum('publish','unpublish','block') NOT NULL, 
PRIMARY KEY (comment_id) 
) 

comment_by是發表的評論
topic_id是其中的評論已發佈
parent是,如果評論是對其他評論
回覆用戶ID comment是評論文字
level是評論的深度(1到n級別),1是針對主題的第一級評論。

評論深度可以是第n級。我需要一個查詢來獲得主題ID的評論。

select * from forum_comments where topic_id = 1 

我想要檢索的主題ID,但評論所有評論應該有也存儲在評語表與「父」回覆(父表示,以這個回答貼出原文評論ID) 和所有的評論並且回覆應該是樹形視圖格式,因爲我需要以樹形格式顯示註釋。

1 Comment (main comment with "parent" 0) 
    2 reply (reply with "parent" 1) 
    3 reply (reply with "parent" 2) 
     4 reply (reply with "parent" 3) 

在此先感謝

+0

我認爲它已經atmost要求半小時前.. – Gautam3164 2013-03-15 10:27:00

+0

是的,但我沒有得到任何解決方案,這就是爲什麼我再次發佈它。 – 2013-03-15 10:31:44

+0

這並不是它如何工作的傢伙... – gearsdigital 2013-03-15 10:36:24

回答

0

因此,嘗試這樣

SELECT * FROM forum_comments WHERE comment_id = 1 ORDER BY comment_id ASC 

,或者您可以使用日期也嘗試像

SELECT * FROM forum_comments WHERE comment_id = 1 ORDER BY comment_date ASC 
+0

我的問題依然存在,任何人都可以幫助我嗎? 我有一個評論表,有一個字段「父母」持有家長評論的ID。評論深度可以是第n級。假設我發佈了評論,有人回覆了我的評論,然後我再次回覆他們,所以評論深度爲3.所以我需要以多維數組形式檢索所有評論。 – 2013-03-18 05:22:48