我有一个索引页面,在该页面上显示上传到数据库中的所有图像。当您单击某个图像时,您将被发送到包含该图像的所有信息的页面。现在我尝试在该信息页面上添加上一个/下一个按钮,该按钮将发送到数据库中的上一个/下一个图像。正如您所看到的,我首先从URL中获取图像的路径,然后根据我获得Id的路径,然后尝试使用当前图像的id获取上一个/下一个图像的路径。我的下一个图像按钮工作,但是,我的上一个按钮始终返回数据库中第一个图像的路径。所以点击next-> next->接下来以正确的顺序浏览我的所有图像,但是当我点击任何图像上的上一个图像时,我会被发送到第一个图像。有什么想法吗?
<?php
$realImagePath = $_GET['image'];
$sql = "SELECT * FROM image WHERE path='$realImagePath'";
$result = mysqli_query($conn, $sql);
$getResult = mysqli_fetch_assoc($result);
$currentId = $getResult['id'];
$sql4 = "SELECT * FROM image WHERE id > $currentId LIMIT 1";
$result4 = mysqli_query($conn, $sql4);
$getResult4 = mysqli_fetch_assoc($result4);
$nextImagePath = $getResult4['path'];
$sql5 = "SELECT * FROM image WHERE id < $currentId LIMIT 1";
$result5 = mysqli_query($conn, $sql5);
$getResult5 = mysqli_fetch_assoc($result5);
$previousImagePath = $getResult5['path'];
echo "<div class='imageContainer'>"
."<h1>".$getResult['name'].'</h1>'
.'<img class="uploadedRealImg" src="uploads/'.$realImagePath .'" alt="Random image" />'."<br><br>"
."<a href='imageInfo.php?image=".$previousImagePath."'>Previous</a>"
."<a href='imageInfo.php?image=".$nextImagePath."'>Next</a><br>"
.$getResult['description']."<br><br>"
.$getResult['date']."<br><br>"
.$getResult['author']."<br><br></div>";
?>
答案 0 :(得分:0)
SELECT * FROM image WHERE id < $currentId LIMIT 1
的第一个结果始终是数据库中的第一个元素。这是你的问题。试试这个:
SELECT * FROM image WHERE id < $currentId ORDER BY id DESC LIMIT 1