-1

我有每小时展示产品的问题?这意味着,每小时产品都会随机变化。唯一的条件是刷新页面后产品的顺序不应该改变,1小时后应该改变。我使用了 mysql,所以我需要“ORDER BY RAND(); 的新方法;它可以解决我的问题或任何新想法。这是我的代码:

    $sql = "SELECT * FROM products where status = 1 ".$where." ORDER BY RAND ()";

如何设置时间或任何其他功能来修复它?任何想法???即使我使用 javascript 来修复它但 id 不起作用?

4

1 回答 1

0

每小时随机更改它的一种简单方法是将当前小时作为种子值传递给rand函数,但这不能保证每小时都会有一个新产品 - 可以再次选择相同的产品。如果这对您的网站来说没问题,这就是我实现随机函数的方式:

rand(round(to_seconds(now()) / 3600))

分解它:

now()返回当前时间戳

to_seconds()将时间戳转换为 int,从 0 年开始以秒为单位指定。

然后我们将返回的值除以to_seconds()秒数,例如3600一小时或60一分钟。

该值仍会每秒更改一次,因为它是带小数的浮点数。为避免这种情况,我们必须将其四舍五入为整数。

于 2013-08-22T18:28:22.647 回答