> 백엔드 개발 > PHP 튜토리얼 > javascript - 请问评论系统的层级数据结构要怎么取最合适?

javascript - 请问评论系统的层级数据结构要怎么取最合适?

WBOY
풀어 주다: 2016-06-06 20:17:55
원래의
1341명이 탐색했습니다.

我想自己写一个wordpress的评论系统,当然是用wordpress的数据表结构了。
但是在有个地方有点疑惑,就是如何去弄清这个层级。

数据库结构如下

javascript - 请问评论系统的层级数据结构要怎么取最合适?

其中id是自动生成的,postid表示评论在哪篇文章,approved表示是否过审(0表示没有),parent表示评论的父级Id(回复评论),content是内容。

正常的输出效果应该是
javascript - 请问评论系统的层级数据结构要怎么取最合适?

在这里,我应该如何写php,才可以达到这种效果...我就是脑里没有这种数据结构调用的概念。它的过程

首先肯定是调用这个postid为99的文章,这样数据库的内容就同我的第一个截图一样。
接下来我的想法是想输出层级为0的评论,但是其他的层级什么时候插入呢?

回复内容:

我想自己写一个wordpress的评论系统,当然是用wordpress的数据表结构了。
但是在有个地方有点疑惑,就是如何去弄清这个层级。

数据库结构如下

javascript - 请问评论系统的层级数据结构要怎么取最合适?

其中id是自动生成的,postid表示评论在哪篇文章,approved表示是否过审(0表示没有),parent表示评论的父级Id(回复评论),content是内容。

正常的输出效果应该是
javascript - 请问评论系统的层级数据结构要怎么取最合适?

在这里,我应该如何写php,才可以达到这种效果...我就是脑里没有这种数据结构调用的概念。它的过程

首先肯定是调用这个postid为99的文章,这样数据库的内容就同我的第一个截图一样。
接下来我的想法是想输出层级为0的评论,但是其他的层级什么时候插入呢?

这不是典型的树结构吗?只是将其压平了存到数组里。
postid是为了让你一个查询就能搞定,不至于分别查一下每个节点
至于怎么插入,如果你打算一次插入的话,这就跟你渲染模板的代码有关了啊,重点还在你的html和css上。

也可以分成两个查询:首先正常渲染页面只有一级评论,然后来一个ajax查询把补充的填进去(百度贴吧)。

但因为涉及分页的问题就比较麻烦了。

像是知乎那样就尽量降低了复杂度,当然知乎是没楼中楼的,只有一个回复XXX,这样的实现就简单许多,而且也不用担心分页了。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿