我在我的数据库中存储图像的名称和类型。现在我想从该数据库中选择最新的图像并将其显示给用户。我尝试使用以下代码,但我得到相同的图像名称和类型,但我想得到不同的图像。
$new_image_count = mysql_query("SELECT COUNT(id) FROM newest");
$result = mysql_result($new_image_count, 0);
$select_images = mysql_query("SELECT * FROM newest");
$fetch = mysql_fetch_assoc($select_images);
for($result; $result > 0; $result--){
$name = $fetch['image_name'];
$type = $fetch['image_type'];
$name_dot_type = $name.".".$type;
echo '<img src="main_images/'.$name_dot_type.'" width="300">';
}
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
删除查询以计算行数(您不需要它)
并将代码的主要部分更改为
$select_images = mysql_query("SELECT * FROM newest");
while ($fetch = mysql_fetch_assoc($select_images)) {
// echo data from $fetch
}
PS:您最近会收到有关使用PDO而不是mysql_
PPS:你得到相同的结果,因为你只获取一次行,然后在循环中输出相同的值
答案 1 :(得分:0)
首先,您不应再使用mysql_*()
函数,而应切换到mysqli或PDO
其次,只需移动$fetch = mysql_fetch_assoc($select_images);
循环中的for
:
for($result; $result > 0; $result--){
$fetch = mysql_fetch_assoc($select_images);
$name = $fetch['image_name'];
$type = $fetch['image_type'];
$name_dot_type = $name.".".$type;
echo '<img src="main_images/'.$name_dot_type.'" width="300">';
}