有一个显示在线用户的核心模块,如果您已经在页面中并且有新用户登录,则在刷新页面之前您将看不到他。我希望它在不刷新漏洞页面的情况下向用户展示。我正在考虑制作特定的 div 以间隔刷新。
<div id="cusers">
<?php $i = 0; foreach($names as $name) : ?>
<?php echo "<span style='color:". $colors[$i % 6]."'>".$name->username."</span>"; $i += 1;?></a>,
<?php endforeach; ?></div>
在上面的代码中,让#cusers 每 5 秒自动刷新一次,例如使用 ajax。任何想法如何实现这一目标?
我尝试了以下方法:
<script type="text/javascript">
var refreshId = setInterval(function()
{
jQuery('#cusers').html('<?php $i = 0; foreach($names as $name) : ?><a href="index.php/forum/profile/<?php echo (int) $name->userid; ?>"><?php echo "<span>".$name->username."</span>"; $i += 1;?></a>,<?php endforeach; ?>');
}, 3000);
</script>
这会重新运行脚本,但不会从数据库会话中获取新信息,因此它只会显示我第一次加载页面时的相同用户。