首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何存储评分系统的ids?

问如何存储评分系统的ids?
EN

Stack Overflow用户
提问于 2012-03-18 17:18:25
回答 1查看 291关注 0票数 1

全

我需要一个关于如何存储在mysql数据库中的评分员in的快速帮助,以便在php脚本中使用它。例如,我有一个php星级评分脚本,我希望当有人评分一个个人资料时,他/她的id应该存储在数据库中,以检查他们是否已经投票。如何将其与其他评分者配置文件id一起存储在单个列中。数据库结构如下所示

代码语言:javascript
复制
    user_id | rated_value | rated_count | raters_id

这里,user_id是正在被评级的配置文件的id,rated_value是所有选票的总值,rated_count是曾经被评级到特定配置文件的总费率的数量。raters_id是对该档案进行评分的所有评分者的id。

现在我想检查一下这个配置文件id是否已经被php评为一个配置文件。我听说过逗号分隔的it列表,但这是个好主意吗?如果我使用逗号分隔的列表,我如何在php中检查该id是否已经被评为配置文件。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2012-03-18 17:27:37

您只需要3列:

代码语言:javascript
复制
user_id | rated_value | rater_id

你必须在这里存储每一个评价,这样你甚至可以告诉用户他在过去评价了多少星。

要获得user_id = 1的总评分,请在MySQL中使用聚合函数和分组:

代码语言:javascript
复制
SELECT 
    AVG(rated_value) as average_rating, 
    COUNT(*) AS number_of_votes 
FROM 
    user_rating 
WHERE
    user_id = 1
GROUP BY
    user_id

要检查rater_id = 3等级是否为user_id = 1,请使用简单查询

代码语言:javascript
复制
SELECT rated_value FROM user_rating WHERE user_id = 1 AND rater_id = 3

并检查它是否返回任何结果

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9757215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档