有一个实时的"论坛/博客",我想检查最后一个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;
希望这对你有用!