0

当站点成员的帖子数达到 100 的倍数时,我需要提醒他们。当 mysql 表中的值达到 100、200、300 等时,是否可以运行函数或回显某些内容?

表结构:

username | password | email | posts 


我目前正在显示他们的帖子计数:

$sql = mysql_query("SELECT `posts` FROM `user` WHERE username='$username'") or die(mysql_error());
$row = mysql_fetch_array($sql);

echo "<br /><h4>Your posts:</h4>" . " " . $row['posts'];



已解决:我同意Marc 提出的使用模数的建议,这符合我的需要。

$sql = mysql_query("SELECT `posts` AS posts FROM `user` WHERE username='$username'") or die(mysql_error());
$row = mysql_fetch_array($sql);
$post = $row['posts'];

    if($post % 100 == 0) {

        mysql_query("INSERT INTO `posts` (name, message, message_raw) VALUES ('System', '$name has reached $post posts!', '$name has reached $post posts!')");

    }
4

2 回答 2

3

你需要一个模数

模运算。返回 N 除以 M 的余数。

像这样

SELECT username
FROM `user` 
WHERE username='$username' AND MOD(posts,100) = 0

每次用户发布新帖子时,您都可以检查条件

于 2012-11-27T18:13:05.023 回答
0

您可以使用触发器:

http://dev.mysql.com/doc/refman/5.5/en/triggers.html

或者

只需创建一个 cron 作业

于 2012-11-27T18:10:24.123 回答