php for语句来获取mysql数据

时间:2012-06-21 23:26:36

标签: php mysql

我在我的数据库中存储图像的名称和类型。现在我想从该数据库中选择最新的图像并将其显示给用户。我尝试使用以下代码,但我得到相同的图像名称和类型,但我想得到不同的图像。

$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">';
        }

有关如何解决此问题的任何想法?

2 个答案:

答案 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">';
}