php - 如何将手动相关的帖子添加到帖子中?

标签 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

如果可能的话,我宁愿不使用“相关表”,以避免复杂的查询。

所以在这种情况下我需要一种方法来获取自动递增的整数,或者您可以向我推荐其他解决方案:)

最佳答案

为什么不用第二张 table ?它可能是最强大的解决方案,并且根本不会使您的查询复杂化太多。

你应该有第二个表,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。


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

关于php - 如何将手动相关的帖子添加到帖子中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477725/

相关文章:

php - 与 $_POST 混淆

MySql 选择列值唯一的地方

php - 单击 'Cancel' 按钮后销毁 $_SESSION

php - 如何在显示子类别时获取类别详细信息?

php - 如何将数据库实例分配给 Android 用户

php - 在 WordPress 中从我的数据库检索数据时出现问题

带过滤器的 PHP 导航

mysql - 连接两个表上的数据以获取不同数据集的计数

php - 子查询不起作用

php - PHP 一个变量的两个 Action