我正在尝试编程,我决定对登录页面产生一些影响。由于我在网上商店工作,我想在登录页面的某个地方显示一些随机产品,每隔几秒就会改变一次。
现在,我被困在如何能够提取将在ajax调用后显示的单个产品。我想在数据库中获取最小和最大产品ID,然后在最小和最大产品ID之间随机生成一个数字,然后获得具有该ID的产品,但我想如果随机生成的ID与任何ID不匹配怎么办?产品。它只会在登录页面上显示几秒钟,我不想发生这种情况。
有没有办法让我有一个肯定会在产品表中的ID?对你的帮助表示感谢。提前谢谢。
PS:
我正在使用MySQL和PHP。
更新:
我遇到了一个页面,说明我可以使用:
SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;
这会是一个很好的解决方案吗?
答案 0 :(得分:4)
如果您正在使用MSSql,您可以通过newId()函数来命令随机获取一行数据。您仍然需要服务器端的服务/页面来为您运行此代码。
select top 1 productName, sku
from products
order by newid()
对于MySql,这就足够了
SELECT productName, sku
FROM products
ORDER BY Rand()
LIMIT 1