2009-11-23 98 views
0

我有一位運行在線拍賣網站的朋友。他目前在主頁上有一個精選項目部分,他希望每X分鐘循環一次。該網站運行一個我尚未見過的MySQL數據庫。每x分鐘PHP/SQL循環項目

他正在使用的當前代碼是一個大而長的混亂的Javascript代碼,它會導致各種錯誤。

該項目將不得不按順序循環,當他們到達最後,返回並重復。

使用PHP的最佳方法是什麼?

編輯:我的意思是從後端SQL的角度來看。不是用戶界面。

感謝 本

+0

你問的是如何從UI的角度來循環它,或者如何從數據庫中選擇合適的「下一個」記錄? – Xailor 2009-11-23 05:05:28

+0

頁面在間隔期間是否向所有訪問者顯示相同的項目,或每個訪問者是否從頭開始序列? – jheddings 2009-11-23 05:28:09

+0

此外,頁面是否需要自動刷新特色項目(即用戶是否簡單地將頁面打開),還是僅在頁面加載時纔會完成? – jheddings 2009-11-23 05:31:10

回答

0

假設你有一個單獨的表的特色項目(可能有一個項目ID引用的主要項目表,也許其他信息)......在此表中,添加一個last_featured列代表該項目上次顯示的時間。從那裏,你可以操縱你的查詢來獲得精選項目的旋轉列表。

它可能看起來像這樣(如PHP MYSQL &之間的奇怪混合僞代碼):

// select the most recent item in the list, considered the current item 
$item = SELECT * FROM featured_items ORDER BY last_featured DESC LIMIT 1; 

if ($item['last_featured'] > X_minutes_ago) { 
    // select the oldest item in the list, based on when it was last featured 
    $item = SELECT * FROM featured_items ORDER BY last_featured ASC LIMIT 1; 

    // update the selected item so it shows as the current item next request 
    UPDATE featured_items SET last_featured=NOW() WHERE item_id = $item['item_id']; 
} 

注意,這需要3調用數據庫......有可能會實現更有效的方法這個。

+0

感謝隊友, 我會看看它是怎麼回事! – Ben 2009-11-23 22:11:31