Php 如何存储分级系统的ID?
全部 我需要一个关于如何在mysql数据库中存储评分员ID的快速帮助,以便在php脚本中使用它。喜欢 我有一个php星级脚本,我希望当有人评价一个配置文件时,他/她的id应该存储在数据库中,以检查他们是否已经投票。如何将其与其他评分员配置文件id存储在一列中。数据库结构如下Php 如何存储分级系统的ID?,php,mysql,store,rating,Php,Mysql,Store,Rating,全部 我需要一个关于如何在mysql数据库中存储评分员ID的快速帮助,以便在php脚本中使用它。喜欢 我有一个php星级脚本,我希望当有人评价一个配置文件时,他/她的id应该存储在数据库中,以检查他们是否已经投票。如何将其与其他评分员配置文件id存储在一列中。数据库结构如下 user_id | rated_value | rated_count | raters_id 此处user_id是正在评级的配置文件的id rated_value是所有投票的总值 rated_count是特定配置
user_id | rated_value | rated_count | raters_id
此处user_id是正在评级的配置文件的id
rated_value是所有投票的总值
rated_count是特定配置文件的总费率数。
raters_id是对该档案进行评分的所有评分员的id
现在我想检查配置文件id是否已经使用php对配置文件进行了评级。我听说过逗号分隔的ID列表,但这是个好主意。如果我使用逗号分隔的列表,那么如果id已经被评为配置文件,我如何在php中进行检查
谢谢你的帮助 您只需要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
要检查评分者id=3rateduser\u id=1
使用简单查询
SELECT rated_value FROM user_rating WHERE user_id = 1 AND rater_id = 3
并检查它是否返回任何结果,但我仍然可以在数据库中存储评分器id,因为在我的解决方案中有许多id将对配置文件进行评分,
user\u rating
中的每一行都是针对每一次投票的,因此如果两个用户将评分user\u id=1
将有两行user\u id=1
anb,这两行都将具有不同的rater\u id
。好的,但是你能给出一个关于使用不同的表来存储rater\u id的想法吗?可能吗?是的,这是可能的,你应该能够从我的答案中找到答案。