如何在帖子中添加手动相关的帖子?

时间:2013-05-10 08:08:26

标签: php mysql

我正在php中设计一个博客网站,用户可以在帖子中添加手动相关的帖子。

我想为所有相关帖子使用自动增量整数。

这是表格:

Blog:
-id
-related ( it's 0 if there aren't related posts or it contain an autoincremet integer that it is the same for all posts related )
-id_user
-title
-body
-date

我不想使用"相关表格"如果可能的话,避免复杂的查询。

所以我需要一种方法来获得这种情况下的自动增量整数,或者你可以建议我其他解决方案:)

2 个答案:

答案 0 :(得分:3)

为什么没有第二张桌子?它可能是最强大的解决方案,它根本不会使您的查询完全符合。

您应该有第二个表格related-posts,其中有两个字段:originalrelated

两者都不是唯一的,因此以下是可能的(假设1,2,3,4是帖子ID)

o | r
--+--
1 | 2
1 | 3
2 | 3
2 | 4
4 | 1

当您需要查找与帖子1相关的帖子时(例如),您可以查询

SELECT `related` FROM `related-posts` WHERE `original` = 1;

这将为您提供所有相关的帖子ID。


这种关系称为多对多关系,一个帖子可以有多个相关帖子,一个帖子可以与许多原始帖子相关。

答案 1 :(得分:0)

您可以将related设置为NULL,之后您可以检查它是否为NULL - 然后没有相关的帖子。

选择所有相关帖子:

SELECT * FROM Blog where related=:blog_id