在開始這篇文章時
作者假設讀者已能夠寫出一個用戶的登入認證程序
記數器可完成訪問 web 頁的總次數
但卻不能得知一個時段中訪問量的動態記載
下面就來介紹如何寫一個各個時段動態顯示訪問量的方法
要記載訪問量
首先就要在 mysql 內建立一個數據庫
姑且給這個數據庫取名為 line
同時建立一個名為 line 的數據表
表內的字段分別為"用戶名(name varchar(
))
時間(time datetime)"
當然讀者也可根據需要增加數據表的字段
建立好數據庫後
就可以開始設計程序了
現在先理清一下思路
要想顯示訪問量
當然數據庫就必須要有記錄
我已假設讀者有能力寫一個用戶登入程序了
所以向數據庫添加紀錄可在登入程序假設為 login
php 裡添加:
先給現在時間付值:$time=date(
Y
m
d H:i:s
);
mysql_select_db(line);
mysql_query("insert into line (name
time) values(
$name
$time
)");
好了
現在每一位登入的用戶在數據庫裡都有了一個記錄
下面就來完成用戶在線顯示的程序 line
php:
<?
mysql_connect("local"
""
"");
mysql_select_db(line);
$result=mysql_query("select * from line");
$num=mysql_numrows($result);
if (!empty($num)) {
echo "<table><tr><td>";
echo "現在在線人數為:$num";
echo "</td></tr>";
for($i=
;$i<$num;$i++){
$name=mysql_result($result
$i
"name");
echo "<tr><td>用戶:$name</td></tr>";
}
}
?>
上面這段程序已能顯示所有在線的用戶人數及各用戶名
當然這個程序還很不完善
如果其中一個用戶登出離開後
數據庫就不應該有此用戶的記錄所以
還得在登出程序假設為 logout
php 內加上刪除功能:
mysql_select_db(line);
mysql_query("delete from line where name=
$name
");
這時一個基本的用戶在線功能已經完成
接下來繼續在 line
php 內增加代碼使功能更加完善
首先我們得規定用戶在多長時間沒繼續浏覽 line
php 時就認為該用戶已經離開
這裡給定一個時間限制為
分鐘
也就是說程序將顯示從現在開始的前
分鐘的用戶情況
所以必須 line
php 內設置一個現在時間告知程序從這個時間開始執行
然後實現程序執行時把數據庫內記錄的時間減去現在時間大於
分鐘的所有記錄刪除
這樣任何用戶在執行 line
php 時
都能看到
分鐘內的所有在線的用戶
完成這個功能需要以下這個數據庫語句:
From:http://tw.wingwit.com/Article/program/PHP/201405/30964.html