验证用户是否已喜欢帖子的最佳方法?

时间:2018-07-01 16:04:22

标签: php database mysqli sql-like

我正在制作一个简单的“喜欢”按钮,当登录的用户按下该按钮时,它将在具有匹配ID的行的该帖子的“喜欢”列中添加+1“喜欢”。

我仍然需要做的是一个功能,该功能可以在用户使用“赞”按钮进入页面时检查(登录的)用户是否已经喜欢该帖子,因此可以正确突出显示“赞”按钮并避免相同的用户不会多次喜欢。

我的问题是,实现这一目标的最佳方法是什么?我唯一能想到的就是在用户数据库中创建一列(“ likedposts”),以单个字符串的形式存储他们喜欢的帖子的ID,例如“ .122354435..3453463423..3242343”。将点分开,然后检查它们是否已经喜欢其中的帖子,我将在mysqli中使用LIKE参数,例如... WHERE 'likedposts' LIKE '%.3242343.%

但是所有这些似乎都在处理大量数字,并且如此不便,以至于让我想知道是否有更简单,更“紧凑”的方式来做到这一点。
在此先感谢您,希望我能对所有内容进行充分的解释。

1 个答案:

答案 0 :(得分:2)

这是传统的many-to-many relationship

创建一个新表(例如user_likes),其中有一列将用户表作为外键引用,并将一列将posts表作为外键引用。

根据您正在使用的数据库,您可能希望添加第三列作为主键,或者使用已经具有a composite key的两列。