开发者社区> 问答> 正文

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

我想自己写一个wordpress的评论系统,当然是用wordpress的数据表结构了。
但是在有个地方有点疑惑,就是如何去弄清这个层级。
数据库结构如下
screenshot
其中id是自动生成的,postid表示评论在哪篇文章,approved表示是否过审(0表示没有),parent表示评论的父级Id(回复评论),content是内容。
正常的输出效果应该是
screenshot
在这里,我应该如何写php,才可以达到这种效果...我就是脑里没有这种数据结构调用的概念。它的过程
首先肯定是调用这个postid为99的文章,这样数据库的内容就同我的第一个截图一样。
接下来我的想法是想输出层级为0的评论,但是其他的层级什么时候插入呢?

展开
收起
蛮大人123 2016-02-13 14:49:40 2888 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    这不是典型的树结构吗?只是将其压平了存到数组里。
    postid是为了让你一个查询就能搞定,不至于分别查一下每个节点
    至于怎么插入,如果你打算一次插入的话,这就跟你渲染模板的代码有关了啊,重点还在你的html和css上。
    也可以分成两个查询:首先正常渲染页面只有一级评论,然后来一个ajax查询把补充的填进去(百度贴吧)。
    但因为涉及分页的问题就比较麻烦了。
    像是知乎那样就尽量降低了复杂度,当然知乎是没楼中楼的,只有一个回复XXX,这样的实现就简单许多,而且也不用担心分页了。

    2019-07-17 18:42:01
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
如何使用Tair增强数据结构构建丰富在线实时场景 立即下载
Apache Flink 流式应用中状态的数据结构定义升级 立即下载
探究高性能的海量节点树 立即下载