1

オンライン ユーザーを表示するコア モジュールがあります。既にページにアクセスしていて、新しいユーザーがログインしている場合は、ページを更新するまで表示されません。ホールページを更新せずにユーザーに表示したい。インターバルでリフレッシュする特定の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>

上記のコードでは、たとえば ajax を使用して #cusers が 5 秒ごとに自動更新されるようにします。それを達成する方法はありますか?

私は次のことを試しました:

<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>

これによりスクリプトが再実行されますが、データベース セッションから新しい情報は取得されないため、最初にページを読み込んだときと同じユーザーが表示されるだけです。

4

1 に答える 1