gpt4 book ai didi

php - 无法找出 "approve post once 10 users like it"的系统

转载 作者:行者123 更新时间:2023-11-29 02:04:44 24 4
gpt4 key购买 nike

我有一个文章投票系统。文章存储在“故事”表中,所有投票都存储在“投票”表中。 'stories' 表中的 id 等于 'votes' 表中的 item_name(因此每次投票都与带有 item_name 的文章相关)。

我想做到这一点,当投票总数达到 10 时,它会将“故事”表中的“显示”字段更新为值“1”。

这是我现在用来将选票插入数据库的查询(我正在考虑向其中添加一些内容或创建另一个查询以求和用户正在投票的文章的 vote_values 并查看它们是否 > 10 如果是则设置显示 = 1 ):

$q = "INSERT INTO {$this->votes_table} (`vote_value`, `item_name`, `ip`) VALUES({$dir}, '{$story_id}', '{$ip}')";

这是我的数据库结构:

故事表

enter image description here


投票表

enter image description here

最佳答案

尝试:

CREATE TEMPORARY TABLE tmp_ids SELECT s.id
FROM stories s
JOIN votes v ON v.item_name = s.id
WHERE s.showing != 1
GROUP BY s.id
HAVING SUM(v.vote_value) >= 10;

UPDATE stories SET showing = 1 WHERE id IN (SELECT id FROM tmp_ids)

//每次投票都编辑版本

UPDATE stories s 
SET s.showing = IF((SELECT SUM(vote_value) FROM votes WHERE item_name = ?) >= 10, 1, 0)
WHERE s.id = ?

关于php - 无法找出 "approve post once 10 users like it"的系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8596798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com