そのため、ユーザーがコンテンツをアップレートおよびダウンレートできるWebサイトの一部に取り組んでいます。これは、評価ごとに1行保存され、賛成の場合は+1、反対の場合は-1になります。
また、合計のupvote - downvotes
ユーザープロフィールページを作成します。これらの投票の合計は、ユーザー情報のmysqlテーブルに保存されます。
私の問題は、誰かが何かに投票したときに、反対票を言って、ユーザープロファイルの投票の合計値に1を差し引くことです。しかし、ユーザーが考えを変えて、最終的な値が正しくなるように投票を賛成票に変更した場合、実際には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のみを返すことはわかっています)