2013-02-20 47 views
0

好了,所以我搜索我想要做的,似乎無法找到什麼,我正好在尋找谷歌。自動更新圖像MySQL的PHP​​和我將承擔的JavaScript

我想這樣做是有每秒更新一次,一個圖像,該圖像被用於一個消息圖標,類似於Facebook的的。無需刷新頁面,需要使用Jquery更新元素(首選)。我對Java腳本這方面知之甚少,但只要我知道該怎麼告訴java腳本來做,PHP和MySQL就可以做到這一點。

我想真正的問題是: 我怎樣才能使基於圖像更新,在MySQL數據庫中的任何改變? 對此的任何幫助將非常感激。

+1

歡迎的AJAX我的朋友:) ..世界上谷歌的幾個快速搜索將幫助ü找到正是u需要。 – 2013-02-20 07:26:31

+0

每一秒?預計高吞吐量賬單。您可能需要查看Comet,Meteor,socket.io ... PHP不擅長這些事情。 – Amadan 2013-02-20 07:27:17

回答

1

試着這麼做:

window.setInterval(function() { 
    $.get("url", { parameters: egTime}, function(response) { 
     if($("#myImage").attr("src") != response) 
      $("#myImage").attr("src", response); 
    }) 
}, 1000); 

服務器必須返回圖像的新SRC作爲字符串;-)

+0

我會假設URL將意味着像「ajaxscript.php」現在將這個文件只是有任何的圖像路徑需要一個原始輸出到顯示?或者該響應如何工作? – user2090111 2013-02-20 11:14:44

+0

響應是IMG的像剛剛新URL: 「//myFolder/myimage.png」 – DeBaum 2013-02-20 12:05:12

+0

個人我寧願使用JSON,回波json_encode(陣列( 'URL'=> $ URL));然後在js端$(「#myImage」)。attr(「src」,response.url); – We0 2013-02-20 14:12:37

0

您可以先設置使用jQuery的間隔。參考這個問題;

JavaScript - jQuery interval

那麼你可以做的Ajax請求對間隔檢查數據庫中的新條目。在MySQL中,創建一個標誌條目以確定條目是新的還是舊的(例如,設置爲0舊,新設爲1)。在每個ajax請求中,如果有狀態爲1的任何條目,則PHP可以返回具有1(即可能大於1)的條目數作爲ajax結果。然後狀態應該設置爲0.在javascript ajax中,您可以檢查返回值是否爲0或其他值。如果0,那麼你不需要做任何事情。如果是1,那麼你可以改變一些元素的css屬性(如改變背景顏色),以便通知它。當用戶點擊該元素時,css可能會恢復爲默認值。

+0

1/0已經完成,它對正常的頁面加載正常工作,只需要它繼續下去,所以你不必刷新頁面 – user2090111 2013-02-20 11:16:56