如何将数据库中的图像调用为每行10个图像?

时间:2014-03-13 00:22:56

标签: php html mysql image jpeg

<?php

include 'dbconnect.php';

$query = mysql_query("SELECT * FROM champicons") or die("Error: " . mysql_error());

echo "<table border='10' width='100%' cellpadding='10' >"; 
echo "<tr>";  
while($row = mysql_fetch_array($query)) {
    $image = $row[2];
    echo "<td>";
    echo '<img src="data:image/png;base64,' . base64_encode($image) . '" />';   
    echo "<td>";  
}  
echo "</tr>";
echo "</table>";          


?>

我想要实现的目标是将10个图像放入1行,然后在下面放下一行并再显示10个图像,此时我放入数据库的图像越多,当前行的图像越宽越小而且我看不到所有的图像。

很难让它在10个图像上创建一个新行,因为在while循环中调用图像。

2 个答案:

答案 0 :(得分:1)

在循环之前添加一个计数器,如果在循环中。

$i = 1;
while($row = mysql_fetch_array($query)) { 
    $image = $row[2];
    echo "<td>";
    echo '<img src="data:image/png;base64,' . base64_encode($image) . '" />';   
    echo "</td>";
    if($i++%10 == 0) echo '</tr><tr>';  
}  

答案 1 :(得分:0)

我认为您只需计算迭代次数并根据

插入新行
$i=1;
while($row = mysql_fetch_array($query)){
    $image = $row[2];
    echo "<td>";
    echo '<img src="data:image/png;base64,' . base64_encode($image) . '" />';   
    echo "</td>";  
    $i++;
    if($i==10){
        $i=1;
        echo "</tr><tr>";  
    }
}  

注意,</td>未正确关闭