0

画像を表示するための簡単なコードを作成しました。画像はフォルダに保存され、その名前はmysqlに保存されます。しかし、問題は、dbに合計画像があるのと同じ回数だけ最初の画像が表示されていることです。画像を表示するための簡単なコードは次のとおりです。

$query = "Select * from admin_images";
$result = mysql_query($query) or die(mysql_error());
$rows = mysql_fetch_array($result) or die(mysql_error());
$i=mysql_num_rows($result);
while($i>=1)
{
    $img = $rows['my_image_name'];
    echo '<img src="../admin_images/$img">';
    $i--;
}

画像名はmy_image_nameフィールドのadmin_imagesテーブルに保存され、実際の画像はadmin_imagesフォルダーに保存されます。

4

2 に答える 2

2

行を次々にフェッチする必要があります。

$query = "Select * from admin_images";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result) or die(mysql_error()))
{
    $img = $row['my_image_name'];
    echo '<img src="../admin_images/$img">';
    $i--;
}
于 2013-03-16T09:37:25.643 に答える
1

ループを介して画像のURLを取得してみてください。
プログラムフローをよりよく理解するには、以下のコードを参照してください。

//Query to select the image url from database.  

$query = "Select * from admin_images"; // Try to use proper column name instead of * 
$result = mysql_query($query) or die(mysql_error()); // mysql_* functions are depreciated. So try to avoid using this function. 
$i=mysql_num_rows($result);

if($i >=1)
{
 while($rows=mysql_fetch_array($result))
 {
    $img = $rows['my_image_name'];
    echo '<img src="../admin_images/$img">';

 }// The above loop will terminate when the condition becomes false. And hence, till now you will have printed all your images.
} else {
echo'No image record found!';
} 
于 2013-03-16T10:10:15.873 に答える