在線人數的統計方法
本文轉載自:http://blog.csdn.net/52juanjuan/archive/2004/07/30/online.aspx
/*******author:fibona 熊祥衆
********date:2004-7-30
********功能:在線人數統計方法:*/
寫得比較詳細,不過我給你一個比較有用的思考(一種方法吧):
先在數據庫中用戶表中增加一個字段,用戶最後活動時間比如說 lastactive字段。採用unix時間形式存放簡單一些。
判斷用戶在線可以用如果最後活動時間與當前活動時間的差在兩分鐘之內的就算在線。
? $sql="select count(*) as cnt from user_table where lastactive+120
用戶註銷時把其的最後活動時間進行更新爲:
? $sql="update user_table set lastavtive= (time()-300) where user_name='user_name"";改成變成比當前時間早5分鐘的時間。以便於用戶註銷時用戶再登錄出現無法登錄的情況。
然後通過頁面的meta元素每一分鐘刷新一次頁面,對用戶記錄進行更新:
? $sql="update user_table set lastactive=time() where user_name='user_name"";
好了基本上完成了,再加一個用戶登錄時的判斷:
? 如果他在線的話就不再進行登錄並給出友好提示:
? $sql="select * from user_table where user_name='user_name"and lastactive+60>=time();//因爲是一分鐘更新一次所以加個60。
? 執行查詢,如果得到結果就判斷爲他在線並給出提示:
? 同一時間不能兩次登錄。並退出。
? 如果 沒有結果就進行登錄,並採用session進行註冊等。這都是比較簡單的了。
好了一個完整的在線人數統計就這樣完成了。
請各位自行完成程序的編碼。如有不懂請與qq:185923958進行聯繫。