当有人进行更改时自动刷新页面

时间:2014-02-18 13:10:47

标签: javascript php comet

我有一个页面,我从数据库中获取了一些文本。 当该页面打开并且其他人更改了数据库中的文本时,我不想这样做,以便在数据更改时立即刷新我的页面。

我已经搜索了一些关于使用彗星的内容,但我对此一无所知。

有没有更简单的方法来解决我的问题?如果没有,有没有人知道彗星的简单教程?

1 个答案:

答案 0 :(得分:1)

我想到了两种方法。 “推送消息”类别中的第一个。没有太多经验,所以我将继续选择2:

text所在的同一表/行中添加最后编辑时间戳。当有人更新文本时,请更新时间戳。

当用户加载页面时,还会在javascript变量中发送最后编辑时间戳。然后根据以下内容将超轻量级AJAXcall转换为验证文件:

$query = "SELECT text,last_edit FROM someTable WHERE lastedit>".$_GET['timestampFromJS']." LIMIT 1";
$result = mysqli_query($conn, $query);
if( $result->num_rows===0 ){
    echo 0; // something small for JS
}
else{
    $fetch = $result->fetch_assoc();
    echo $fetch['text'];
}

在您的javascript代码的成功处理程序中,检查该值是否不等于0,如果它不是0,请使用结果更新页面。

可能还有其他解决方案,或者你可能更喜欢JSON(我知道我这样做:P),但你会得到这个想法的草稿:)