我正在寻找创建一个具有半线程主题结构的论坛软件。我正在编写sudo代码,以便在建议的环境中如何最好地处理帖子的获取。在非线程环境中,帖子由post_id选择,因为帖子ID会自动递增,因此可以简单地命名以获得从最新到最旧的帖子,反之亦然。
SELECT * from posts_tables
WHERE topic_id = X
ORDER by post_id ASC
LIMIT 20
在半线程环境中,您还希望以相同的方式选择帖子以获取帖子的最新帖子,但您还希望选择每个帖子都有的回复。这只是用2个SQL调用完成的,但我想知道是否只有一个更好的方法存在。使用3个索引字段,即post_id,topic_id和replied_to_post_id。
这次你得到这些结果并在之后再次选择
SELECT * FROM posts_tables
WHERE topic_id = X
ORDER by post_id ASC
LIMIT 20
获得结果
SELECT * FROM posts_table
WHERE replied_to_post_id = X,Y,Z
有更好的方式吗?
如果您不完全了解半线程主题结构,那么下面的链接可能非常有用。 http://www.bulletinboards.com/ThreadHelp.cfm