如果在另一个中发生某些事情,我怎么能更新表格中的值?
例如,
我设置了like
表,当有人喜欢Post时,我希望'Posts'表中的'numberOfLikes'增加。
我怎么能实现这个目标?
答案 0 :(得分:1)
除了在update
之类的同时执行insert
之外,您还可以在like
表上创建一个触发器来更新posts
表。 / p>
delimiter |
create trigger likepost after insert on like
for each row begin
update posts set likes = likes + 1 where post_id = new.post_id;
end;
|
delimiter ;
(以上内容很快改编自the documentation,因此您必须根据实际架构设计进行更改。)
您还需要创建处理喜欢删除的触发器。
答案 1 :(得分:0)
我不知道你在喜欢的表中添加了什么,但这是你应该在post表中做的。
UPDATE Posts set numberOfLikes = numberOfLikes + 1 WHERE post_id = 'x'
这就是查询,只要有人喜欢帖子就可以运行。
例如:
<a href="?like=5">Like this post</a>
然后
<?php
if (isset($_GET['like']) && is_numeric($_GET['like'])) {
$update = mysql_query("UPDATE Posts set numberOfLikes = numberOfLikes + 1 WHERE post_id = '".$_GET['like']."'");
if ($update) {
echo "Thank you sir!";
} else {
echo "Oups, try again!";
}
}
?>