浏览数据库行

时间:2013-07-25 13:50:17

标签: php mysql

我运行图片托管网站,我遇到了问题。我想在图片旁边制作一个2个按钮,如“下一个图像”和“上一个图像”。我是php / mysql的新手并且遇到了一些麻烦。

看看我得到了什么。我使用ID(数字)来找到正确的行,但我必须获取图像名称以构建下一个链接。如何使下面的查询获取下一个和上一个图像名称+ ID?

    $query_next = ("SELECT imageID, image_name FROM images WHERE image_name = '$image_main' ORDER BY imageID DESC LIMIT 1");

    $query_prev = ("SELECT imageID, image_name FROM images WHERE image_name = '$image_main' ORDER BY imageID ASC LIMIT 1");

// next
$next = mysql_query($query_next);
// prev
$prev = mysql_query($query_prev);

while ($row = mysql_fetch_assoc($next)) {
    $next = $row['image_name'];
}

while ($row = mysql_fetch_assoc($prev)) {
    $prev = $row['image_name'];
}

html =>简单的东西。

<a href="http://example.com/view_image/<?=$next?>">Next image</a>
<a href="http://example.com/view_image/<?=$prev?>"> Prev image </a>

2 个答案:

答案 0 :(得分:0)

对于上一项,您希望第一行SMALLER比当前ID:

"SELECT imageID, image_name FROM images WHERE imageID < $current_img_id ORDER BY imageID DESC LIMIT 1"

对于下一个项目,您想要第一行LARGER而不是当前ID:

"SELECT imageID, image_name FROM images WHERE imageID > $current_img_id ORDER BY imageID ASC LIMIT 1"

答案 1 :(得分:0)

您的两个查询都在获取相同的图像,因为您将相同的$ image_name传递给它们:

改变这个:

$query_next = ("SELECT imageID, image_name FROM images WHERE image_name = '$image_main_next' ORDER BY imageID DESC LIMIT 1");

$query_prev = ("SELECT imageID, image_name FROM images WHERE image_name = '$image_main_prev' ORDER BY imageID ASC LIMIT 1");

看看是否有效。