2014-02-14 48 views
1

您好需要幫助,基本上當用戶登錄時會將時間和日期放在MySQL的Seen列中,所以當用戶註銷或關閉瀏覽器時,它應該顯示用戶處於脫機狀態,應該說用戶在線。AJAX從MySQL中選擇

<? 
$username = $_SESSION['membersusername']; 
if(isset($username)){ 
mysql_query("UPDATE users SET seen=NOW() WHERE username='$username'"); 
} 
?> 

而我覺得AJAX?

<? 
$sql=mysql_query("SELECT seen FROM users"); 
while($rows=mysql_fetch_array($sql)){ 
$seen=$rows['seen']; 
if ($seen < date("Y-m-d H:i:s",strtotime('-20 seconds', time()))){ 
    echo "User Is offline"; 
}else{ 
    echo "User is online"; 
} 
} 
?> 

當我做上面的代碼它這樣做... http://prntscr.com/2sd7fb

誰能幫助?

+0

請使用預處理語句查看MySQLi或PDO。 mysql_ *函數已過期 –

+0

我該怎麼做? – MBell86

+0

你是否確實有一些旨在「做AJAX」的Javascript? – heikkim

回答

3

在ajax代碼放在code.I認爲這將是有益的。

<? 
$sql=mysql_query("SELECT seen FROM users WHERE username='$username'"); 
while($rows=mysql_fetch_array($sql)){ 
$seen=$rows['seen']; 
if ($seen < date("Y-m-d H:i:s",strtotime('-20 seconds', time()))){ 
echo "User Is offline"; 
}else{ 
echo "User is online"; 
} 
} 
?> 
0

對於做AJAX你需要Javascript,網上有很多有用的資源。通常使用現成的跨瀏覽器實現,如JQuery而不是自己實現它,因爲這是一項艱鉅的任務。但對於初學者,你可以嘗試一個簡單的演示,並從中學習:W3Schools ajax try-it

P.S. 您正在使用的SQL查詢容易受到SQL注入攻擊,而惡意的人可能會利用它來對您的數據庫造成嚴重損害。請參閱:mysqli並瞭解準備好的語句。