<?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循环中调用图像。
答案 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>
未正确关闭