所以这真的开始让我感到烦恼......我在画廊中展示图像,首先用缩略图显示。您可以单击第一个缩略图,它将按文件名ASC
按顺序加载图像,这非常适合从头开始。
但是,当您单击一个随机图像时,它会加载该图像,当您单击下一步时,它会将整个相册再次带回到开头,这不是很好。我正在尝试对其进行排序,以便您可以单击随机图像,然后单击下一步,显示实际的下一个结果而不是将您带回到开始状态?
这是我当前的代码,您可以看到与非选择和选择选项的区别:
if($select_first == ''){
$sql = "SELECT * FROM `new_images` WHERE `alb_ref` = '$alb_ref' ORDER BY full_link ASC";
} else {
$sql = "SELECT * FROM `new_images` WHERE `alb_ref` = '$alb_ref' ORDER BY full_link = '$select_first' DESC, full_link ASC";
}
$result = $conn->query($sql);
$rowcount=mysqli_num_rows($result);
if ($result->num_rows > 0) {
$i = 0;
while($row = $result->fetch_assoc()) {
$image_id = $row['img_id'];
$thumb_link = $row['thumb_link'];
这是需要改变的一行代码,但我对MySQLi查询不太了解如何解决这个问题?有什么想法吗?
$sql = "SELECT * FROM `new_images` WHERE `alb_ref` = '$alb_ref' ORDER BY full_link = '$select_first' DESC, full_link ASC";
$select_first
是他们选择开始的图片......这是一个基本的例子:
(1) a.jpg
(2) b.jpg
(3) c.jpg
(4) d.jpg
(5) e.jpg
如果他们没有选择图片,则会从(1)
开始并继续到(5)
- 这很好。
如果他们选择(3)
,目前,下一张图片将为(1)
,并且会一直持续到(5)
,下一张图片应为(4)
并继续到(5)
...
答案 0 :(得分:1)
我们在=
中未使用ORDER BY full_link = '$select_first'
。根据您的评论,您可以>
使full_link
大于值
$sql = "SELECT * FROM `new_images` WHERE `alb_ref` = '$alb_ref'
AND full_link >'$select_first'
ORDER BY full_link ASC";