用mysql每小时显示产品?

时间:2013-08-22 18:16:47

标签: php javascript mysql

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

要打破它:

now()返回当前时间戳

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

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

这个值每秒都会改变,因为它是带小数的浮点数。为避免这种情况,我们必须将其舍入为整数。