2016-06-01 32 views
0

所以这真的开始bug我...我在图库中显示图像,首先按缩略图显示。您可以点击第一个缩略图,它会按照文件名ASC的顺序加载图像,这对于从头开始非常有用。MySQLi通过选择启动结果顺序,并继续到下一结果

但是,当您点击一张随机图片时,它会加载该图片,当您点击下一张图片时,它会将整张专辑重新带回到开头,这并不是很好。我正在尝试对它进行分类,以便您可以单击一个随机图像,一旦您点击下一步,就会显示下一个结果,而不是将您带回起始位置?

这里是我当前的代码,你可以看到来自非选择的差异和选择的选择:

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

入住这部分'ORDER BY FULL_LINK =“$ select_first''不使用'='。只需通过full_link desc或ASC订购 – Saty

+0

是的,但是当您单击要首先查看的图像时,它不会显示它,它会从头开始。这就是为什么我使用'ORDER BY full_link ='$ select_first''作为'$ select_first'是他们想要开始排序的第一张图片的选择。 – Snappysites

+0

它试图继续结果的顺序后,'$ select_first' – Snappysites

回答

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"; 
+1

这里是我认为你只能使用这些类型的运营商的数字。非常感谢,挑衅地指出我正确的方向! – Snappysites