您将需要AJAX,这是一个示例:
首先,当您加载页面时,您需要获取发送的消息的最后一个 ID。
$lastID = SELECT MAX(id) AS `id` FROM `messages` WHERE `to` = . getLoggedUserId()
然后,您需要将其传递给 Ajax:
$(document).ready(function(){
setInterval(function(){
$.get("page.php?checkMessages&lastID=<?php echo $lastID; ?>", function(amount){
if(amount > 0){
$("span.newMessages").text(amount);
}
})
},10*1000); // every 10 seconds
})
在page.php 上,您将拥有:
<?php
if( isset($_GET["checkMessages"]) ){
$lastID = (int)$_GET["lastID"]; // just for security
$newMessages = 'SELECT COUNT(*) AS `amount` FROM `messages` WHERE `id` > ' . $lastID . ' AND `to` = ' . getLoggedUserId()
echo $newMessages;
exit;
}
?>
然后,每 10 秒,只会span
加载新消息的数量。