0

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

他当前使用的代码是一个又大又长的乱七八糟的 Javascript 代码,它会导致各种错误。

这些项目必须按顺序循环,当它们到达终点时,返回并再次重复。

使用 PHP 解决此问题的最佳方法是什么?

编辑:我的意思是从后端 SQL 的角度来看。不是用户界面。

谢谢本

4

1 回答 1

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 次调用...可能有更有效的方法来完成此操作。

于 2009-11-23T06:07:35.060 回答