使用 PHP 和 MySQLi 创建类似系统的最佳方式
The best way to creating like system using PHP and MySQLi
嗨,我有一些用户和一些 post,我正在寻找的是让用户喜欢 post 的最佳方式,保留他们的用户名并显示 post喜欢。
我有一个 table,其中 table 每行代表一个 post ...
我的想法是在一栏中写下喜欢 post 的用户名,在另一栏中写喜欢的次数,但我不知道这样是否正确。
假设您的 table 用户和 post 都有 "id" 列(因此我们还假设您至少有两个 table,"users" 和 "posts")。据我了解,您想在 "posts" table 中写下所有喜欢 post 的用户名,并且还有一个计数器来跟踪有多少用户喜欢 [=] 23=]。您在这里引入一些冗余非常简单。更不用说如果用户被删除会发生什么(提示:一团糟)。
我们的想法是创建一个新的 table "likes",您将在其中输入喜欢 post 的用户的 ID,该 ID 将由其 ID 引用。所以这个 table 基本上需要两列:"userid" 和 "postid"。如果需要,您可以添加第三个时间戳,添加额外的点赞信息。
这可能会使一些请求复杂化(检索喜欢 post 的用户的姓名),但是如果 table 关系良好,可以实现一些无聊的一致性检查而不必执行任何查询(例如:一个已删除的用户不应出现在这个 table 中,一个不再存在的 post 不能被点赞)。你可以用外键来做到这一点。
嗨,我有一些用户和一些 post,我正在寻找的是让用户喜欢 post 的最佳方式,保留他们的用户名并显示 post喜欢。
我有一个 table,其中 table 每行代表一个 post ...
我的想法是在一栏中写下喜欢 post 的用户名,在另一栏中写喜欢的次数,但我不知道这样是否正确。
假设您的 table 用户和 post 都有 "id" 列(因此我们还假设您至少有两个 table,"users" 和 "posts")。据我了解,您想在 "posts" table 中写下所有喜欢 post 的用户名,并且还有一个计数器来跟踪有多少用户喜欢 [=] 23=]。您在这里引入一些冗余非常简单。更不用说如果用户被删除会发生什么(提示:一团糟)。
我们的想法是创建一个新的 table "likes",您将在其中输入喜欢 post 的用户的 ID,该 ID 将由其 ID 引用。所以这个 table 基本上需要两列:"userid" 和 "postid"。如果需要,您可以添加第三个时间戳,添加额外的点赞信息。
这可能会使一些请求复杂化(检索喜欢 post 的用户的姓名),但是如果 table 关系良好,可以实现一些无聊的一致性检查而不必执行任何查询(例如:一个已删除的用户不应出现在这个 table 中,一个不再存在的 post 不能被点赞)。你可以用外键来做到这一点。