【问题标题】:Display threaded comments with MySQL & PHP使用 MySQL 和 PHP 显示线程注释
【发布时间】:2010-12-19 01:05:58
【问题描述】:

给定下表,如何编写 MySQL 查询以在单个页面中显示线程化 cmets?

表结构:

  • comment_id
  • comment_parent
  • comment_content

谢谢。

【问题讨论】:

标签: php mysql


【解决方案1】:
【解决方案2】:

取决于你想走多远......但这里有一个与 1 个查询有关的 1 线程示例

SELECT * FROM `comment` a LEFT JOIN `comment` b ON a.comment_id = b.comment_id WHERE a.comment_parent = 0 

然后使用 php 选择父评论是否更改并显示。

但为了提高速度,对多个查询执行此操作可能会更好。您需要做一些基准测试才能确定

【讨论】:

    【解决方案3】:
    Select comment_content from table where comment_parent != 0;
    

    然后使用 PHP 显示你想要的结果。

    【讨论】:

    • 你的问题还不清楚。我认为您要问的是如何使用 PHP 显示线程化 cmets。获取所有 cmets 的查询将只是“从表中选择 *”。然后你需要编写一些 PHP 来以正确的顺序显示 cmets。所以基本上你想要做的是遍历所有父 cmets,如果评论有孩子,则通过并打印父评论下的那些。如果您允许多级线程,那么它会稍微复杂一些。
    • 我做了一个递归函数,现在一切正常。
    猜你喜欢
    • 2022-01-04
    • 2018-09-06
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    相关资源
    最近更新 更多