在網頁上,我想顯示論壇列表(parent_id = 0) ,併爲每個論壇顯示最新(最新)該組論壇的3個主題和它的子論壇MySQL將論壇及其子論壇分組到同一組,然後做最大的每組
APPLE (Forum)
iPad3 Apr 12 (Topic from subForum "Tablets")
Genius Bar Apr 11 (Topic from Forum "APPLE")
iPodNano Apr 10 (Topic from subForum "Portables")
repeat with next forum
的MySQL 5.5結構
table FORUMS (contains Forums and subForums, 2 level hierarchy max)
id (autoinc)
parent_id (0 if Forum, link to other rows id if subForum)
name
table TOPICS (a Topic is a child of Forums or subForums)
id (autoinc)
forum_id (linked to FORUMS table
name
date_added (datetime)
我能得到的結果設置論壇從一個簡單的查詢,到PHP中的數組和環通說。
我被困在如何創建顯示前3個主題的第二個結果集。
我已閱讀關於Greatest-N-Per-Group的文章,並嘗試過他們,但我認爲我的想法增加了複雜性。我的大腦在這一點上很好,所以我在尋求幫助。
我是否創建一個mysql變量來保存論壇ID和它的子論壇的逗號分隔的列表,然後將它用於IN(1,4,6)語句的值?
或者這是一個糟糕的設計/想法,而且執行成本太高?
我已經閱讀了許多相關的帖子,但任何鏈接,你可以指向我我也會讀。
你已經解釋說論壇有subforums,但是subforums可以有更多的subforums嗎?您沒有包含論壇表格的結構。論壇層次結構是否遵循與類別相同的層次結構? – nnichols 2012-04-13 00:04:40
對不起,我意識到我的問題被描述得很糟糕,使用Cats&Prods而不是論壇和主題。我編輯它以匹配我的描述。原創帖子發佈時,我的大腦真的很糟糕。 我只想要有2個級別,一個頂級(可以包含主題)和一個較低級別的頂級子級。我不需要更多的複雜性:) – 2012-04-13 00:56:35
我已經更新了我的答案。 – nnichols 2012-04-13 01:04:43