我有一位运行在线拍卖网站的朋友。他目前在主页上有一个精选项目部分,他希望每X分钟循环一次。该网站运行一个我尚未见过的MySQL数据库。每x分钟PHP/SQL循环项目
他正在使用的当前代码是一个大而长的混乱的Javascript代码,它会导致各种错误。
该项目将不得不按顺序循环,当他们到达最后,返回并重复。
使用PHP的最佳方法是什么?
编辑:我的意思是从后端SQL的角度来看。不是用户界面。
感谢 本
我有一位运行在线拍卖网站的朋友。他目前在主页上有一个精选项目部分,他希望每X分钟循环一次。该网站运行一个我尚未见过的MySQL数据库。每x分钟PHP/SQL循环项目
他正在使用的当前代码是一个大而长的混乱的Javascript代码,它会导致各种错误。
该项目将不得不按顺序循环,当他们到达最后,返回并重复。
使用PHP的最佳方法是什么?
编辑:我的意思是从后端SQL的角度来看。不是用户界面。
感谢 本
假设你有一个单独的表的特色项目(可能有一个项目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调用数据库......有可能会实现更有效的方法这个。
感谢队友, 我会看看它是怎么回事! – Ben 2009-11-23 22:11:31
你问的是如何从UI的角度来循环它,或者如何从数据库中选择合适的“下一个”记录? – Xailor 2009-11-23 05:05:28
页面在间隔期间是否向所有访问者显示相同的项目,或每个访问者是否从头开始序列? – jheddings 2009-11-23 05:28:09
此外,页面是否需要自动刷新特色项目(即用户是否简单地将页面打开),还是仅在页面加载时才会完成? – jheddings 2009-11-23 05:31:10