Php 如何检查用户之前回复的帖子是否收到新的回复?

Php 如何检查用户之前回复的帖子是否收到新的回复?,php,mysql,Php,Mysql,假设有10篇帖子,我已经回复了其中的7篇。当其他用户向帖子发送响应时,系统必须检查并告诉我是否有7篇帖子收到了新的响应。系统不会检查其他3个帖子,它只会检查我回复的7个帖子 步骤1-从ResponseLive中选择帖子id,其中用户名=“{$myUsername}”//如果我在一篇特定的文章上发送了多个响应,这将输出许多重复的文章id。如何防止邮件id重复 第2步-在我得到7个帖子id之后,我需要得到7个帖子中最后一个回复的回复id。我是否需要使用数组来存储7个post id?或者我只需要在上一

假设有10篇帖子,我已经回复了其中的7篇。当其他用户向帖子发送响应时,系统必须检查并告诉我是否有7篇帖子收到了新的响应。系统不会检查其他3个帖子,它只会检查我回复的7个帖子

步骤1-
从ResponseLive中选择帖子id,其中用户名=“{$myUsername}”//如果我在一篇特定的文章上发送了多个响应,这将输出许多重复的文章id。如何防止邮件id重复

第2步-在我得到7个帖子id之后,我需要得到7个帖子中最后一个回复的回复id。我是否需要使用数组来存储7个post id?或者我只需要在上一个查询的while循环中编写此查询,如下所示:

$query3 = "SELECT id FROM responseslive WHERE username='{$myUsername}'";
$result3 = mysql_query($query3,$connection) or die (mysql_error());
confirm_query($result3); 
while($postinfo = mysql_fetch_array($result3)){
    $post-id= $postinfo['post-id'];

    $query4 = "SELECT rsp-id FROM responseslive WHERE postid='{$post-id}' ORDER BY rsp-id DESC LIMIT 1";
    $result4 = mysql_query($query4,$connection) or die (mysql_error());
    confirm_query($result3); 
    while($rspinfo = mysql_fetch_array($result4)){
        $last-rsp-id= $rspinfo['rsp-id'];
    }

}

第3步-然后将当前的
$last post id
与之前的
$last post id
进行比较,如果当前的
$last post id
大于之前的
$last post id
,则告诉用户他之前已经响应过的帖子上有新的响应。

对于第1步:

SELECT DISTINCT post-id FROM responsesLive WHERE username='{$myUsername}';
SELECT 
  postid, max(rsp-id) 
FROM 
  responseslive 
WHERE postid in (
    SELECT DISTINCT post-id FROM responsesLive WHERE username='{$myUsername}');
GROUP BY
  postid
这将只返回不同的post ID

对于第2步:

SELECT DISTINCT post-id FROM responsesLive WHERE username='{$myUsername}';
SELECT 
  postid, max(rsp-id) 
FROM 
  responseslive 
WHERE postid in (
    SELECT DISTINCT post-id FROM responsesLive WHERE username='{$myUsername}');
GROUP BY
  postid

这将为您和数组提供帖子ID和他们最后的回复ID。

如果我删除“按帖子分组”是否可以?人们说,当你有或可以使用GroupBy时,不要使用DISTINCT,因为这会减慢查询速度……如果你想删除“GroupByPostId”,那么你也必须从SELECT中删除postid。这取决于你的结果中是否需要这个字段。我明白了。非常感谢你。你是如何发现你的答案有新的评论的?Stackoverflow给你发电子邮件通知你?我想Stackoverflow会在你有新的问题答案时给你发电子邮件。要查看新的评论,您可以查看页面左上角的内容,其中显示Stachexchange。一个红色圆圈出现,带有新的注释。