2012-10-18 63 views
0

如何更新到數據庫狀態= 1其中id = $ id登錄後使用更新語句例如或單獨的頁面 請任何一個字符串如何看起來像?如何查看在線用戶狀態

這是一個成員地位的IM試圖使它所以網上會員可以,有自己的網頁

這只是觀察部和明年更新部件

mysql_select_db("messages") or die(mysql_error()); 
$data = mysql_query("SELECT on_status FROM users WHERE id='$user_id'") 
or die(mysql_error()); 
echo "<table border cellpadding=3 bgcolor=\"00FF00\">"; 
while($info = mysql_fetch_array($data)) 
{ 
echo "<tr>"; 
echo "<th>User:</th> <td>".$info['user_name'] . "</td> "; 
echo "<th>Status:</th> <td>".$info['on_status'] . " </td></tr>"; 
} 
echo "</table>"; 

?> 
<p><br> 

<a href="/home.php">Go Back</a><p> 
+0

可能的重複http://stackoverflow.com/questions/1084099/how-to-track-the-online-status-of-users-of-my-website –

+0

我在代碼中首先看到一個問題。你有id ='$ user_id而不是id = $ user_id或id ='$ user_id'。此外,如果你做WHERE id ='$ user_id',那麼你會發現,基於理解'id'通常意味着什麼,只有一個用戶,所以你的表總是包含一行。這是你打算做什麼? – Grzegorz

回答

0

添加一個名爲場status在用戶表中。用戶表中包含用戶的所有數據。

UPDATE statusonline當用戶登錄..這個代碼將被放置驗證用戶名和密碼後..

//例如:當您啓動用戶會話寫這篇更新

當試圖註銷UPDATE statusoffline用戶..這個代碼將被放置在session_destroy()聲明

0

旁邊試試這個更新語句:

"UPDATE `users` SET `on_status` = 1 WHERE `id` = '$user_id'"; 

雖然,如果我可能會建議這樣做:保留上次活動的時間戳。這樣,如果頁面未刷新超過5分鐘(或更長時間),即使用戶沒有點擊註銷按鈕,也可以將用戶顯示爲「離線」。