为什么我的查询总是返回表格中第一张图片的路径?

时间:2017-07-27 01:31:28

标签: php mysql

我有一个索引页面,在该页面上显示上传到数据库中的所有图像。当您单击某个图像时,您将被发送到包含该图像的所有信息的页面。现在我尝试在该信息页面上添加上一个/下一个按钮,该按钮将发送到数据库中的上一个/下一个图像。正如您所看到的,我首先从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>";
?>

1 个答案:

答案 0 :(得分:0)

SELECT * FROM image WHERE id < $currentId LIMIT 1的第一个结果始终是数据库中的第一个元素。这是你的问题。试试这个:

SELECT * FROM image WHERE id < $currentId ORDER BY id DESC LIMIT 1