所以我有上传表单,将图像上传到文件夹并将名称保存到数据库(mysql)。到目前为止我有这个:
<?php
mysqli_query($connection, "SELECT * FROM images LIMIT 1");
$result = mysqli_query($connection, $sql) or die ("SQL Error: ".mysqli_error($connection));
while($row = mysqli_fetch_array($result)){
echo "<div class=\"picture\">";
echo "<p>";
echo "<img src=\"upload/" . $row['filename'] . "\" alt=\"\" /><br />";
echo $row['caption'] . "<br />";
echo "</p>";
echo "</div>";
}
?>
如何更改代码以一次显示一张图像。就像带有“下一张”和“上一张”按钮来更改图像的画廊? 在数据库中,我只存储“id”和“文件名”。 谢谢
编辑: 我是这样弄的
<?php
if (isset($_GET['id'])) {
$id = $_GET['id'];
} else {
$id = 1;
$res=mysqli_query($connection, "select * from images order by id ASC LIMIT $id, 1");
$prevSQL = mysqli_query($connection, "SELECT * FROM images WHERE id > '".$id."' LIMIT 1");
$nextSQL = mysqli_query($connection, "SELECT * FROM images WHERE id < '".$id."' LIMIT 1");
$row = mysqli_fetch_array($res);
if($prevSQL === FALSE) {
die("SQL Error: " . mysqli_errno($connection));
}
if($nextSQL === FALSE) {
die("SQL Error: " . mysqli_errno($connection));
}
if(mysqli_num_rows($prevSQL)>1){
$prevRow = mysqli_fetch_array($prevSQL);
$prev = '<a href="show.php?page='.$prevRow['id'].'">Prev</a>';
} else {
$prev = 'Prev';
}
if(mysqli_num_rows($nextSQL)<1){
$nextRow = mysqli_fetch_array($nextSQL);
$next = '<a href="show.php?page='.$nextRow['id'].'">Next</a>';
} else {
$next = 'Next';
}
echo "<img src=\"upload/" . $row['filename'] . "\" alt=\"\" /><br />";
echo $row['caption'] . "<br />";
echo "</p>";
echo "<a href='show.php?page=".$id."'>Next</a>";
echo "<br/>";
echo "<a href='show.php?page=".$id."'>Prev</a>";
echo "</div>";
}
?>
最佳答案
使用MySQL Limit你可以这样做。请注意,它需要两个参数。第一个是起始记录,因此:
SELECT * FROM images
order by ID ASC
LIMIT $page, 1
通过每次点击传递一个新的 $page,您可以通过 ID 获取下一条记录。
为了确保您始终拥有有效的 $page:
if isset($_GET['page']) {
$page = $_GET['page'];
} else {
$page = 1;
}
关于php - 使用下一个/上一个按钮从 mysql 回显一个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21193415/