2014-03-12 11 views
0

我有一個div是去綠/紅時,輸入/輸出Ajax的實時用戶狀態的變化,而不刷新頁面

用戶登錄這個PHP代碼:

$results = mysql_query("SELECT * FROM `users` WHERE user_id='".$user_id."' LIMIT 1"); 
if(mysql_num_rows($results) > 0){ 
    while($row = mysql_fetch_assoc($results)){      
     if($row['status'] === "1"){      
     $status = 'online';      
     }else{ 
     $status = 'offline';     
     } 
    } 
} 

<div class="'. $status .'">username</div> 

我怎樣才能使它改變$狀態而無需刷新頁面以查看更改? 因此,如果我有100位訪客登錄網站,並且有一位用戶登錄,那麼所有100位訪客都會立即看到綠色旁邊的用戶,即刻登錄

任何幫助非常感謝!

+0

Ajax將能夠做你想要的,我建議你檢查下面的鏈接:http://www.w3schools.com/Ajax/ajax_aspphp.asp – Juicebox

+0

我真的不明白如何做到這一點,可以你給我舉個例子嗎? – Gadgetster

回答

0

如何顯示客人名單?給id attributeusername divs。然後使用long pollingajax at regular interval(比如每隔1秒)查看誰在線。並在ajax success function您可以編輯顏色div通過獲得他們Id通過jquery或原生的JavaScript。對於使用jQuery AJAX

示例代碼,每1秒

function test() 
{ 
$.ajax({ 
url:url, 
data:{postingData:dt}, 
success:function(response) { 
}, 
error: function (response) { 
} 
}) 
} 
setInterval('test()',1000); 

在phpyou需要搜索用戶表中選擇在線用戶,並可以把所有的loggedIn用戶的JSON數組。 然後你會在jquery成功函數中,需要處理這個json數組並更改登錄用戶的顏色。

+0

你能告訴我如何每1秒做一次檢查嗎? – Gadgetster

+0

@Gadgetster,我更新了每1秒爲ajax調用添加示例代碼。 –

+0

我該如何告訴它檢查活動,以及如何運行一個php查詢? – Gadgetster