Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mysql每小时显示一次产品?_Php_Javascript_Mysql - Fatal编程技术网

Php 使用mysql每小时显示一次产品?

Php 使用mysql每小时显示一次产品?,php,javascript,mysql,Php,Javascript,Mysql,我每小时展示一次产品有问题吗?也就是说,每小时产品都会随机变化。唯一的条件是在刷新页面后,产品的顺序不应更改,仅在1小时后应更改。我使用mysql,所以我需要“ORDER BY RAND()”的新方法;它可以解决我的问题或任何新想法。 这是我的密码: $sql = "SELECT * FROM products where status = 1 ".$where." ORDER BY RAND ()"; 我如何设置时间或任何其他功能来修复它?有什么想法吗??? 即使我使用javascr

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

    $sql = "SELECT * FROM products where status = 1 ".$where." ORDER BY RAND ()";
我如何设置时间或任何其他功能来修复它?有什么想法吗???
即使我使用javascript来修复它,但id不起作用?

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

rand(round(to_seconds(now()) / 3600))
要分解它:

now()
返回当前时间戳

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

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


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

您的问题不清楚,我不知道您想实现什么。请重新表述您的问题,以便更清楚,并发布产品表的结构。我编辑了我的问题。您明白我的意思吗?对不起,pos在你重写你的问题之前,我想你只是想要一个每小时改变一次的随机值。所以我应该在ORDER BY()后面添加这一行,比如:$sql=“SELECT*FROM products where status=1”。$where.”ORDER BY RAND()";等一下,再看一遍你的证词。。它可能真的回答了这个问题:D
SELECT*FROM products where status=1“$where.”按兰德(round(to_seconds(now())/3600))订购
如果它按照我的想法工作,谢谢。你能告诉我我如何更改数字1分钟以进行测试吗?作为新问题发布,我来这里不是为了帮助你的网站,而是为了帮助你建立一个维基,里面有很多人会发现有用的问题和答案。