使用 Ajax 进行更新的最佳方法


Best method for Updating with Ajax

有一个实时的"论坛/博客",我想检查最后一个id,如果更改会触发jquery加载。 我已经完成了。 但是想知道最好的方法,或者最快检查最新的id。

我尝试只从数据库中选择最新的id。

$sql = "SELECT max(id) AS max FROM replies WHERE id = $id";
$result = $db->query($sql);
foreach($result as $last);
echo $last[max];

或提交回复时的其他选项。我正在使用最新 id 创建一个 txt 文件(或更新文本文件)。然后不是使用mysql,而是使用。

$file = file_get_contents("path/cache/$id.txt");
echo $file;

到目前为止,我是一个新手。 这些方法之一也可能不是最好的。 我想知道服务器负载、内存的最佳方法,以及一次处理 100 个用户的最佳方法。我希望我解释得足够好。

请求的 jquery 代码。

<script>
var saved = '<?=$last[id]?>';
setInterval(function() { 
    $.ajax(
    {
        url: '/submit/check.php?tid=<?=$tid[1]?>',
        success: function(data) 
        {
           if (data != saved) 
            {
                $("#responsecontainer").load("/forum-content.php?tid=<?=$tid[1]?>", "", function() {
                jQuery(".timeago").timeago();
                });
                saved = data;
            }
        }
    });
}, 7000);
</script>

数据未定义。我对你的javascript代码的建议:

<script>
var saved = '<?=$last[id]?>';
var data = ""; //define "data"
setInterval(function() { 
    $.ajax(
    {
        url: '/submit/check.php?tid=<?=$tid[1]?>',
        success: function(data) 
        {
           if (data != saved) 
            {
                $("#responsecontainer").load("/forum-content.php?tid=<?=$tid[1]?>", "", function() {
                jQuery(".timeago").timeago();
                });
                //saved = data; //replace with:
                data = saved;
            }
        }
    });
}, 7000);
</script>

你的php代码也是错误的:

$file = file_get_contents("path/cache/".$id.".txt"); //changed line
echo $file;

希望这对你有用!