-3

データベースに画像の名前と種類を保存しています。次に、そのデータベースから最新の画像を選択して、ユーザーに表示したいと思います。次のコードを使用しようとしましたが、同じ画像名とタイプを取得していますが、別の画像を取得したいと考えています。

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

この問題を解決する方法についてのアイデアはありますか?

4

2 に答える 2

0

行をカウントするクエリを削除します(必要ありません)

コードの主要部分を次のようなものに変更します

$select_images = mysql_query("SELECT * FROM newest");
while ($fetch = mysql_fetch_assoc($select_images)) {
    // echo data from $fetch
}

PS:最近、代わりにPDOを使用することについてのコメントがありますmysql_

PPS:行を1回だけフェッチし、その後ループに同じ値を出力するため、同じ結果が得られます

于 2012-06-21T23:29:21.097 に答える
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">';
}
于 2012-06-21T23:30:29.107 に答える