我有一个包含图像路径的表格,就像这样
id i_id img date
1 0 im.png 2015-05-12
2 0 im1.png 2015-05-12
3 0 im2.png 2015-05-12
我试图在php中使用src标签回显图像,但我需要做的是我需要以随机方式回显图像,并且表格还会增长如何做到这一点?它是php部分还是mysql部分?。
答案 0 :(得分:0)
有两种选择。您可以执行ORDER BY RAND(),也可以选择all并随机化PHP中的选定行。
选项1:
SELECT * from IMAGES ORDER BY RAND();
选项2:
//select images (example uses mysql_ library; it's deprecated so DON'T USE IT!)
$query = "SELECT * FROM IMAGES";
$result = mysql_query($connection, $query)
$rows = mysql_fetch_all($result);
//randomize the array of images
shuffle($rows);
//output the images here
对于大型数据集,选项1可能会变得非常慢。根据我的经验,选项2更快,但值得做自己的测试,看看什么最适合你。通常差异只是几分之一秒。请在此处查看答案以获取更多信息:MySQL: Alternatives to ORDER BY RAND()或此处:How can i optimize MySQL's ORDER BY RAND() function?
第三种选择是生成随机ID并选择与这些ID匹配的专辑。这仅适用于您的ID中没有间隙的情况。我从未尝试过这个。