我有 3 个缩略图,每次用户刷新页面时我都想旋转它们。因此希望每次显示不同的缩略图。我将图像名称存储在数据库中。我正在使用此 SQL 查询来获取“按 rand() limit 1 从表名顺序中选择缩略图”。它完美地获取了一张缩略图。
问题是有时会出现相同的图像。例如,我第一次刷新页面缩略图 1.jpg 显示,但第二次又出现 1.jpg。
所以我想要的是每次刷新页面时都有不同的缩略图。
任何人都可以给我一些建议来实现这一目标吗?
最佳答案
随机选择是不可能的,因为相同的图像可能会再次出现。
为了达到您想要的效果,您需要使用 cookie 来存储上次显示的图像名称,并且在下次请求时不显示该图像。
正如您在评论中确认的那样,您不想显示最后显示的缩略图。在这种情况下,您可以使用 sessions
执行此操作:
// get last shown from session if any
$last_shown = '';
if(isset($_SESSION['last_shown_thumb']))
$last_shown = $_SESSION['last_shown_thumb'];
// select a thumbnail randomly which is not the one last shown
$query = "SELECT thumbnail FROM tablename WHERE thumbnail <> '" . $last_shown . "' order by rand() limit 1";
$res = mysql_query($query);
$row = mysql_fetch_row($res);
$curr_thumb = $row[0];
// set the current to last shown in session
$_SESSION['last_shown_thumb'] = $curr_thumb;
关于mysql - 每次获取随机/不同的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7581087/