如何使用PHP显示数百张随机图像中的50张



可能的重复:
MySQL从600K行中快速中随机选择10行

网上有很多不同的例子,但我希望有人能找到一个适合我想要的解决方案。。。当然,我不可能是唯一一个!

我正在建立一个摄影网站,希望在登录页上显示50多个图像缩略图。关键是,我希望它能使用PHP随机显示图片,并且没有重复。我还希望每个图像都有自己的,唯一的href和标题参数。

因此,我创建了一个mySQL表,其中包含:

id image_path, image_href, image_title

我想我可以很容易地自己重新调整图像的大小,并将它们放在根目录中的一个文件夹中,然后在image_path行中调用它。

有人知道如何以最有效的方式做到这一点吗?我听说当数据库变大时,rand()很糟糕。该数据库将增长到数以万计的图像。

如果你需要/想要澄清,请告诉我。

谢谢!!!

编辑:我可能在研究中找到了答案,但我对PHP还很陌生…:)

您可以查询数据库,按RAND()对结果进行排序,然后选择前50名:

SELECT id, image_path, image_href, image_title 
FROM table 
ORDER BY RAND()
LIMIT 50

这样可以保证不会出现重复的结果,除非表本身有重复项。

这个问题概述了一种更快的方法:MySQL从600K行快速中随机选择10行

最新更新