javascript - 請問評論系統的層級資料結構要怎麼取最合適?

來源:互聯網
上載者:User

我想自己寫一個wordpress的評論系統,當然是用wordpress的資料表結構了。
但是在有個地方有點疑惑,就是如何去弄清這個層級。

資料庫結構如下

其中id是自動產生的,postid表示評論在哪篇文章,approved表示是否過審(0表示沒有),parent表示評論的父級Id(回複評論),content是內容。

正常的輸出效果應該是

在這裡,我應該如何寫php,才可以達到這種效果...我就是腦裡沒有這種資料結構調用的概念。它的過程

首先肯定是調用這個postid為99的文章,這樣資料庫的內容就同我的第一個一樣。
接下來我的想法是想輸出層級為0的評論,但是其他的層級什麼時候插入呢?

回複內容:

我想自己寫一個wordpress的評論系統,當然是用wordpress的資料表結構了。
但是在有個地方有點疑惑,就是如何去弄清這個層級。

資料庫結構如下

其中id是自動產生的,postid表示評論在哪篇文章,approved表示是否過審(0表示沒有),parent表示評論的父級Id(回複評論),content是內容。

正常的輸出效果應該是

在這裡,我應該如何寫php,才可以達到這種效果...我就是腦裡沒有這種資料結構調用的概念。它的過程

首先肯定是調用這個postid為99的文章,這樣資料庫的內容就同我的第一個一樣。
接下來我的想法是想輸出層級為0的評論,但是其他的層級什麼時候插入呢?

這不是典型的樹結構嗎?只是將其壓平了存到數組裡。
postid是為了讓你一個查詢就能搞定,不至於分別查一下每個節點
至於怎麼插入,如果你打算一次插入的話,這就跟你渲染模板的代碼有關了啊,重點還在你的html和css上。

也可以分成兩個查詢:首先正常渲染頁面只有一級評論,然後來一個ajax查詢把補充的填進去(百度貼吧)。

但因為涉及分頁的問題就比較麻煩了。

像是知乎那樣就盡量降低了複雜度,當然知乎是沒樓中樓的,只有一個回複XXX,這樣的實現就簡單許多,而且也不用擔心分頁了。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.