如何使用php从sql检索所有图像到html DIV标签?

时间:2013-08-29 14:24:29

标签: php

我想显示从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>";
}
?>  

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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;
}
?>