欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

该如何来开发这个喜欢的功能呢?

程序员文章站 2022-06-05 16:20:45
...

该如何来开发这个喜欢的功能呢?
用php开发这个喜欢的功能,如何做到点击喜欢可以实现记录谁喜欢的,再点击的时候可以取消喜欢呢?新手求教思路。

回复内容:

该如何来开发这个喜欢的功能呢?
用php开发这个喜欢的功能,如何做到点击喜欢可以实现记录谁喜欢的,再点击的时候可以取消喜欢呢?新手求教思路。

楼上的回答就差不多了,补充一下:

  1. 在文章表里应该有这么个字段,like_num,dislike_num这两个字段分别记录喜欢和不喜欢的人数,方便取值(题主贴的喜欢和评分差不多也是一样的道理);

  2. 接下来的就和上面差不多了,点赞和评论做记录,以便判断用户是否有过此类型的操作。

你应该建议一个like表
字段至少应该包括:文章id,uid,islike
当用户点击“喜欢”的时候,先去查一下这个用户在这个文章下有没有点击过“喜欢”,如果有,就提示用户“已经喜欢过了”,如果没有,就把相关信息写入表中。

这种工作,可以先用nosql来做,比如redis,点击喜欢了就放入redis的一个队列中,取消了就从队列移除,最后某个时间段统一写进数据库,能做到快速响应

用户喜欢这个行为记录起来,下次点击的话根据检索来判断此次行为是喜欢还是取消喜欢。

文章表 aid content
文章用户关系表(rel_table) id aid userid like
用户表 userid

用户觉得文章1不错,点喜欢:文章用户关系表添加1条记录
取消喜欢可以把like标记为0(update rel_table set like=1 where aid=1 and userid=1190 )
通过关系表能知道这个用户是否喜欢这篇文章,(select like from rel_table where aid=1 and userid=1190)
也能知道自己喜欢的文章有哪些(select * like from rel_table where userid=1190)

刚好前不久做了这样的一个功能,思路如下:
首先建一个用户行为记录表,主要包括用户的id和点赞文章的id,还有个status,用户点击一下,状态改改成1,取消了就改成0,下次再点赞了,就改成1
其次,建立一个文章extend额外表,里面用来记录一些数据,比如点赞啊,评论数量啊等,然后用户每每操作一次在extend表里面也操作对应的数据即可,然后文章打开之后再根据status能不能找到或者status的状态来判断是否喜欢过

相关标签: php