本文執行個體講述了PHP+jquery即時顯示網站線上人數的方法。分享給大家供大家參考。具體分析如下:
線上人數最簡單的就是直接利用js調用php,這樣可以顯示出有多少人訪問了本站,如果要在使用者未重新整理頁面的狀態即時顯示使用者線上人數,我們可以利用jquery ajax來實現。
我們在一些應用中需要動態展示資料,比如當前線上人數,當前交易總額,當前匯率等等,前端頁面需要即時重新整理擷取最新資料。這裡我們將結合執行個體給大家介紹使用jQuery和PHP來實現動態數字展示效果。
本例假設要在頁面上動態展示(無需重新整理整個頁面,只是局部重新整理動態數字)當前線上使用者數,常見在一些統計平台上應用。在HTML頁面中只需定義以下結構:
複製代碼 代碼如下:
<div class="count">當前線上:<span id="number"></span></div>
首先我們要定義一個動畫過程,使用jQuery的animate()函數實現從一個數字到另一個數位變換過程,以下magic_number()自訂函數將代碼整合如下:
[code]function magic_number(value) {
var num = $("#number");
num.animate({count: value}, {
duration: 500,
step: function() {
num.text(String(parseInt(this.count)));
}
});
};
然後update()函數使用了jQuery的$.getJSON()向後台number.php發送了一個ajax請求,在得到PHP相應後,調用magic_number()展示最新的數字。為了能看到更好的效果,我們使用setInterval()設定代碼執行的間隔時間。
複製代碼 代碼如下:
function update() {
$.getJSON("number.php?jsonp=?", function(data) {
magic_number(data.n);
});
};
setInterval(update, 5000); //5秒鐘執行一次
update();
PHP代碼部分:
實際項目中,我們會使用PHP擷取資料庫中的最新資料,然後通過PHP返回給前端。本例為了更好的示範,使用隨機數字,最後以json格式返回給前端js,number.php代碼如下:
複製代碼 代碼如下:
$total_data = array(
'n' => rand(0,999)
);
echo $_GET['jsonp'].'('. json_encode($total_data) . ')';
原理其實非常的簡單就是利用js settimeout實現過幾秒載入一個php檔案從而達到了即時顯示線上人數的功能了。
希望本文所述對大家的php程式設計有所協助。