所以我正在开发我网站的一部分,用户可以在其中升级和降级内容,每个评级存储一行,+1 表示赞成,-1 表示反对。
我还将拥有一个upvote - downvotes
用户个人资料页面。这些投票的总和将存储在用户信息的 mysql 表中。
我的问题是,当有人投票时,让我们说一个反对票,所以我在用户个人资料上的投票总价值中减去一个。但是,如果用户改变主意并将投票修改为赞成票以使最终值正确,我必须实际添加 2(+1 来补偿 -1 和另一个 +1 的赞成票)
$sql = "
INSERT INTO `votes`
(
`added_by`,
`value`,
`post_id`,
`ip_created`
) VALUES (
'".$logedInUser['User_ID']."',
'".$value."',
'".$this->post_id."',
'".ip2()."'
)
ON DUPLICATE KEY UPDATE `value` = '".$value."'
";
$db->sql_query($sql);
我知道我可以找到一种方法来做到这一点,但它需要一些其他的查询,我希望有一种方法可以在插入或更新时返回。(我知道查询只会返回 TRUE 或 FALSE)