全
我需要一个关于如何存储在mysql数据库中的评分员in的快速帮助,以便在php脚本中使用它。例如,我有一个php星级评分脚本,我希望当有人评分一个个人资料时,他/她的id应该存储在数据库中,以检查他们是否已经投票。如何将其与其他评分者配置文件id一起存储在单个列中。数据库结构如下所示
user_id | rated_value | rated_count | raters_id这里,user_id是正在被评级的配置文件的id,rated_value是所有选票的总值,rated_count是曾经被评级到特定配置文件的总费率的数量。raters_id是对该档案进行评分的所有评分者的id。
现在我想检查一下这个配置文件id是否已经被php评为一个配置文件。我听说过逗号分隔的it列表,但这是个好主意吗?如果我使用逗号分隔的列表,我如何在php中检查该id是否已经被评为配置文件。
谢谢你的帮助。
发布于 2012-03-18 17:27:37
您只需要3列:
user_id | rated_value | rater_id你必须在这里存储每一个评价,这样你甚至可以告诉用户他在过去评价了多少星。
要获得user_id = 1的总评分,请在MySQL中使用聚合函数和分组:
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,请使用简单查询
SELECT rated_value FROM user_rating WHERE user_id = 1 AND rater_id = 3并检查它是否返回任何结果
https://stackoverflow.com/questions/9757215
复制相似问题