我有一个博客,我想添加一个功能“通过电子邮件通知我新的评论”到每个帖子,当用户评论一个帖子。
我正在使用PHP和MySQL。
我正考虑向评论过一些帖子的用户发送邮件,并选中“通过电子邮件通知我新的评论”复选框,查询如下:

$query = mysql_query("SELECT COUNT(post_id) AS NumberOfComments FROM comments WHERE post_id = $post_id");

$row = mysql_fetch_assoc($query);

if($row['NumberOfComments '] > $NumberOfComments){
    mail("[email protected]","subject","message");
}

但是如果有人从帖子中删除了一条评论,并且添加了一条新的评论,那么评论的数量将是相同的,并且不会发送邮件。有什么好的建议吗?

最佳答案

这取决于何时通知用户。
他们想被告知每一条评论吗?然后发布评论的功能也会发送通知。任何时候发布评论时,都要检查是否要通知用户并通知他们。
他们是否希望定期(每日、每周等)通知存在新的评论?那你还是不想数数。在这种情况下,你需要检查是否存在新的记录。有两种方法可以解决这个问题:
基于标识符。如果您知道用户通知的最后一个注释的ID(您可能需要在通知表中存储某处),那么您检查是否存在新的ID。如果是,会有新的评论。
基于日期。如果您知道用户通知的最后一个注释的时间戳(您可以在某个地方存储或根据通知的周期进行计算),那么您检查自那时以来是否存在新的评论。如果是,会有新的评论。
正如你所发现的,简单地计算记录并不能说明你在寻找什么。记录计数只会告诉你有多少条记录。如果你想知道这些记录是什么时候发布的,你需要某种时间戳。如果要知道记录是否与以前已知的记录匹配,则需要某种标识符。
不要假设信息来自不包含该信息的数据。储存你需要知道的信息。

关于php - 通过电子邮件通知用户新评论,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31475732/

10-13 08:49