2012-03-01 96 views
1

我有一個網頁的小圖示的雲和內部是有一個小的消息 ,其由含有30個消息PHP隨機消息褪色到下一個隨機消息在20秒

它完美一個MySQL表隨機出現

代碼:

$select = mysql_query("SELECT * FROM `cloudbig` ORDER BY RAND() LIMIT 1"); 

如果頁面被刷新另一條消息出現

我的客戶want's到...如果用戶是頁面上的雲切換到其它 隨機消息每20秒,並用流暢的淡入淡出效果

的我怎麼會在腳本的任何想法 - Isn't它只是像 「 + 20秒GET NEXT記錄ORDER BY RAND()「... ...和一些JavaScript腳本 爲淡出?

+2

這與PHP和MySQL無關。這是一個JavaScript問題。 – Brad 2012-03-01 18:59:23

回答

2

您可以從數據庫中獲取一堆消息,將它們回顯到一個Javascript數組中,並編寫/查找一個可以循環使用效果的JavaScript(可以使用jQuery進行淡入淡出)。這是一種'緩存'類型的方法。

如果表的內容變化很快,或者由於其他原因導致每次訪問固定大小的池不可接受,則可以使用AJAX向服務器發出異步請求。這樣您就可以從服務器動態獲取新消息。這可能沒有必要,但我建議採用上述方法。

1

至少有三種不同的方法來解決這個問題。

其中之一是列出您希望他們去的所有消息,並且只有其中一個可見。在JavaScript中,您可以通過超時循環。

另一種可能性是隻顯示一條消息,然後在超時後通過AJAX獲取下一條消息。

兩個的混合將在第一不顯示任何消息,但隨後有你的JavaScript抓取所有的郵件通過AJAX一旦文檔完成加載,並將它們加載到一個數組的客戶端。然後,您可以使用超時循環。這將是我的首選方式,但這取決於你。