2

我想将所有图像从 sql 显示到我的网页。所有图像都会出现但唯一
的问题是它不会单独显示每个图像。

<?php
mysql_connect("localhost","root","") or die(mysql_error()); 
mysql_select_db("buy") or die(mysql_error());
$get = "Select * from hibuy";
$get2 = mysql_query($get);
while ($row=mysql_fetch_array($get2, MYSQL_ASSOC)){
    header("Content-type: image/jpeg");
    echo "<div >";
    echo "<img src='".$row['image']."'>";  // Here This is not Working
    echo "</div>";
}
?>  
4

2 回答 2

1

您的方法“有点不正统”,但这样可能会奏效:

while ($row=mysql_fetch_array($get2, MYSQL_ASSOC)){

    $imageData = base64_encode($row['image']);

    // Format the image SRC:  data:{mime};base64,{data};
    $src = 'data:image/jpeg;base64,'.$imageData;

    echo "<div >";
    echo "<img src='".$src."'>";
    echo "</div>";
}

鉴于,您的数据库中有图像数据,而不是图像的 URL。在这种情况下,只需留下标题....

如此处所示:http: //davidwalsh.name/data-uri-php

于 2013-08-29T14:30:41.723 回答
0

您可以尝试为每个 div 指定一个 id 或设置它们的样式以设置大于或等于图像宽度的边距。假设您的图像宽度为 50px,则此代码将起作用。

<?php
mysql_connect("localhost","root","") or die(mysql_error()); 
mysql_select_db("buy") or die(mysql_error());
$get = "Select * from hibuy";
$get2 = mysql_query($get);
$i = 0;
while ($row=mysql_fetch_array($get2, MYSQL_ASSOC)){
    header("Content-type: image/jpeg");
    echo "<div style='margin-left:".$i."'>";
    echo "<img src='".$row['image']."'>";  // Here This is not Working
    echo "</div>";
    $i+=50;
}
?>  
于 2013-08-29T18:38:38.027 回答