微信扫一扫打赏支持

网页中如何实现用户点赞只能点一次

网页中如何实现用户点赞只能点一次

一、总结

一句话总结:存储已经点赞了的用户的id就可以了


1、文章库增加一个文本型字段,该字段存储已经提交过“赞”动作的用户ID,ID间用特殊字符分割,理论上只要不用数字做分隔符就足以实现要求,不过建议用半角逗号,这样可以直接利用SQL内置的函数进行字符串比对,效率稍高

2、创建一个库表,存储已经提交过“赞”动作的的用户ID和文章ID,以及你想存储的任何信息,比如提交动作的时间、IP、浏览器类型,屏幕分辨率等等——如果你觉得有用的话

方法1的好处是如果你不需要进行统计的话,处理起来很方便,整体效率比较高

方法2的好处是方便统计,你可以得到任何一个文章的赞动作用户列表,或者很高效的检索某个用户对哪些文章提交过赞动作。不过随着数据的积累,此表可能变的非常庞大,运行效率会逐渐降低

 

1、网页中实现用户点赞只能点一次的核心是什么?

存储已经点赞了的用户的id就可以了

是在文章表中添加一个字段,还是新建一个表,看需求,都可以

 

2、数据库多对多的两种实现?

a、在两个表之间再建立一个关系表

b、在一个表中添加一个字段,这个字段批量存储关联的字段,就比如:

网页中实现用户点赞只能点一次的方法中:文章库增加一个文本型字段,该字段存储已经提交过“赞”动作的用户ID,ID间用特殊字符分割,理论上只要不用数字做分隔符就足以实现要求,不过建议用半角逗号,这样可以直接利用SQL内置的函数进行字符串比对,效率稍高

 

 

 

二、网页中如何实现用户点赞只能点一次

你这个想法一般有两种途径实现

1、文章库增加一个文本型字段,该字段存储已经提交过“赞”动作的用户ID,ID间用特殊字符分割,理论上只要不用数字做分隔符就足以实现要求,不过建议用半角逗号,这样可以直接利用SQL内置的函数进行字符串比对,效率稍高

2、创建一个库表,存储已经提交过“赞”动作的的用户ID和文章ID,以及你想存储的任何信息,比如提交动作的时间、IP、浏览器类型,屏幕分辨率等等——如果你觉得有用的话

方法1的好处是如果你不需要进行统计的话,处理起来很方便,整体效率比较高

方法2的好处是方便统计,你可以得到任何一个文章的赞动作用户列表,或者很高效的检索某个用户对哪些文章提交过赞动作。不过随着数据的积累,此表可能变的非常庞大,运行效率会逐渐降低

 

 

 

 
posted @ 2018-08-28 02:25  范仁义  阅读(1065)  评论(0)    收藏  举报