PHP/SQL每x分钟循环一次项目

PHP/SQL每x分钟循环一次项目,php,sql,timer,cycle,countdown,Php,Sql,Timer,Cycle,Countdown,我有一个朋友经营一个在线拍卖网站。他目前在主页上有一个特色项目部分,他希望每X分钟循环一个项目。这个网站运行的是一个MySQL数据库,我还没有看到这个数据库 他正在使用的当前代码是一个大的、长的、混乱的Javascript代码,导致了各种各样的错误 项目必须按顺序循环,当它们结束时,返回并再次重复 使用PHP的最佳方法是什么 编辑:我的意思是从后端SQL的角度来看。不是UI 谢谢 Ben假设您有一个单独的表来显示特色项目(可能有一个项目ID引用主项目表,可能还有其他信息)。。。在此表中,添加一个

我有一个朋友经营一个在线拍卖网站。他目前在主页上有一个特色项目部分,他希望每X分钟循环一个项目。这个网站运行的是一个MySQL数据库,我还没有看到这个数据库

他正在使用的当前代码是一个大的、长的、混乱的Javascript代码,导致了各种各样的错误

项目必须按顺序循环,当它们结束时,返回并再次重复

使用PHP的最佳方法是什么

编辑:我的意思是从后端SQL的角度来看。不是UI

谢谢
Ben

假设您有一个单独的表来显示特色项目(可能有一个项目ID引用主项目表,可能还有其他信息)。。。在此表中,添加一个
last\u
列以表示项目上次显示的时间。从那里,您可以操纵查询以获得特征项的循环列表

它可能看起来像这样(作为PHP和MYSQL之间奇怪的伪代码混合):


请注意,这需要对数据库进行3次调用。。。可能有一种更有效的方法来实现这一点。

您是在问如何从UI角度循环它,还是如何从DB中选择适当的“下一个”记录?页面是否在间隔期间向所有访问者显示相同的项目,还是每个访问者都从一开始就开始序列?另外,页面是否需要自动刷新特色项目(即,如果用户只是让页面保持打开状态),还是仅在加载页面时才进行刷新?感谢您的repsonse Xepoch,我指的是如何选择适当的下一条记录。我之前考虑过(我希望我能解释一下)创建一个新表,该表保存SQL DB中当前特征项的id号,然后使用SHOW_table_STATUS命令获取上次更新的时间,然后在其上添加x个时间量以循环到下一条记录。因此,本质上是“如果当前的特色项目比上次更新的时间加上x分钟旧,那么将id更新到下一个”。我认为这是有道理的。。。感谢贝宁对你的问题的回应J.同一个项目会向所有的访问者展示,我不认为让页面自动刷新是很重要的,尽管我想如果它不是太难的话。谢谢伙伴,我会看看它是怎么回事!
// 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'];
}