wpeter
2005-02-28, 09:49 PM
小弟最近想來寫一支程式紀錄線上人數。使用的語言是PHP,利用資料庫來記錄使用者的IP、上下線時間和上
線狀態等資訊。
首先,程式會先連線到資料庫,然後檢查資料庫內是否有資料。如果沒有資料的話,那程式就自動新增這個使用者
的上線資料,這個時候,線上人數就會+1(利用計算共有幾筆紀錄的方式)
如果資料庫裡已經有資料了,那程式應該要去搜尋資料庫中,上線狀態顯示為上線的欄位,然後比對這位使用者的
IP有沒有跟資料庫內的資料重複。如果有的話,表示這位使用者已經在線上了,就略過不做任何動作。而若是沒有
相符的資料的話,表示這位使用者是新進的使用者,程式要在資料庫中插入一筆新的資料。
下面列的程式碼是有問題的部份。試問要怎樣從資料庫中擷取IP資料出來比對?感覺上我是寫的很奇怪,這樣寫
的話,程式不會有任何作用。希望有人可以幫我改一下.....拜託~~
//
// If database is not empty
//
$online_query = mysql_query("SELECT online FROM suribbs_online WHERE online='1'");
$result = mysql_fetch_array($online_query);
while($row = mysql_fetch_row($online_query))
{
if($online_or_not[1]!=$ip)
{
$sql = "INSERT INTO suribbs_online (ip, on_date, on_time, movement, online) VALUES ('$ip', now(), '$time', '$movement', '1')";
mysql_query($sql);
} else {
continue;
}
}
贊助商連結
線狀態等資訊。
首先,程式會先連線到資料庫,然後檢查資料庫內是否有資料。如果沒有資料的話,那程式就自動新增這個使用者
的上線資料,這個時候,線上人數就會+1(利用計算共有幾筆紀錄的方式)
如果資料庫裡已經有資料了,那程式應該要去搜尋資料庫中,上線狀態顯示為上線的欄位,然後比對這位使用者的
IP有沒有跟資料庫內的資料重複。如果有的話,表示這位使用者已經在線上了,就略過不做任何動作。而若是沒有
相符的資料的話,表示這位使用者是新進的使用者,程式要在資料庫中插入一筆新的資料。
下面列的程式碼是有問題的部份。試問要怎樣從資料庫中擷取IP資料出來比對?感覺上我是寫的很奇怪,這樣寫
的話,程式不會有任何作用。希望有人可以幫我改一下.....拜託~~
//
// If database is not empty
//
$online_query = mysql_query("SELECT online FROM suribbs_online WHERE online='1'");
$result = mysql_fetch_array($online_query);
while($row = mysql_fetch_row($online_query))
{
if($online_or_not[1]!=$ip)
{
$sql = "INSERT INTO suribbs_online (ip, on_date, on_time, movement, online) VALUES ('$ip', now(), '$time', '$movement', '1')";
mysql_query($sql);
} else {
continue;
}
}
贊助商連結