gpt4 book ai didi

javascript - 如何使用ajax/json刷新页面部分?

转载 作者:行者123 更新时间:2023-12-03 08:04:57 25 4
gpt4 key购买 nike

我正在建立一个聊天网站,现在我正在研究在线用户。我使用 AJAX 进行刷新,但在 Append.(); 方面遇到了一些问题。刷新部分时,相同的数据一次又一次出现...这就是 PHP 文件。

<?php
public function online(){
$database = new DB();
$db = $database->database();
$array = array();
$ref = $_SESSION['oc_users_ref'];

$time_out = time()-5;
$time = time();

$query = $db->query("SELECT * FROM oc_users WHERE users_online = 0");

$updateOnline = $db->query("UPDATE oc_users SET users_online = 1 WHERE users_lastcome < '$time_out'");

$q = $db->query("SELECT * FROM oc_users WHERE users_ref <> '$ref' AND users_online = 0 ORDER BY users_lastcome DESC");

while($data = $q->fetch()) {
if($data['users_online'] == 1){
$class = "opacity30";
}else{
$class = '';
}
$array[] = $data;
}
print json_encode($array);
} ?>

现在是 Javascript

function getOnline(){
$.ajax({
url: "conf/users.php?act=online",
dataType: "text",
success: function(data) {
var json = $.parseJSON(data);
for (var i=0;i<json.length;++i)
{
$('#printOnline').append('<li><a href="javascript:void(0);" onclick=javascript:chatWith("'+json[i].users_nickname+'")><i></i>'+json[i].users_nickname+'</a></li>');
}
}
});
}
setInterval('getOnline()',10000);

结果*

用户001用户001用户001用户001用户001用户001用户001用户001

请帮助我...非常感谢

最佳答案

更新前重置用户列表:

function getOnline(){
$.ajax({
url: "conf/users.php?act=online",
dataType: "text",
success: function(data) {
$('#printOnline').html("");
var json = $.parseJSON(data);
for (var i=0;i<json.length;++i)
{
$('#printOnline').append('<li><a href="javascript:void(0);" onclick=javascript:chatWith("'+json[i].users_nickname+'")><i></i>'+json[i].users_nickname+'</a></li>');
}
}
});
}
setInterval('getOnline()',10000);

关于javascript - 如何使用ajax/json刷新页面部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34423550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com