Php MySQL中的简单评分系统
假设我正在运行一个小型投票计数器产品。这些值存储在数据库“content”中,其中一行包含投票数(“count”),我还有一行名为“rank”,我如何自动求和这些值,以便不必在PHP中遍历每一个值,从而导致脚本速度大大降低?类似的内容(取决于确切的表结构)应:Php MySQL中的简单评分系统,php,mysql,ranking,Php,Mysql,Ranking,假设我正在运行一个小型投票计数器产品。这些值存储在数据库“content”中,其中一行包含投票数(“count”),我还有一行名为“rank”,我如何自动求和这些值,以便不必在PHP中遍历每一个值,从而导致脚本速度大大降低?类似的内容(取决于确切的表结构)应: UPDATE item SET rating = (SELECT count(*) FROM rates WHERE type 'positive') - (SELECT count(*) FROM rates WHERE
UPDATE item SET rating =
(SELECT count(*) FROM rates WHERE type 'positive') -
(SELECT count(*) FROM rates WHERE type 'negative');
有关更多信息,请查看。如果表中有类似的结构 项目 带字段:名称、id、计数 您可以简单地执行以下操作: id为$id的项目中的向上投票
UPDATE item SET count = count + 1 WHERE id='$id';
UPDATE item SET count = count - 1 WHERE id='$id';
id为$id的项目中的否决票
UPDATE item SET count = count + 1 WHERE id='$id';
UPDATE item SET count = count - 1 WHERE id='$id';
count将存储投票总数
如果要检查是否避免每个用户/ip进行一次以上的投票,则应将每个单独的投票存储在另一个表中,并在发送以前的查询之前检查此传统表中的非重复投票