我正在使用php、html和mysql建立一个网站。
所以,我的目标是为我的网页制作一个图片库,每行只能显示3张图片。
但我的代码似乎是错误的,我不知道我应该在哪里做更正。
-)这是我的密码:
$query = mysql_query("SELECT DISTINCT * FROM products WHERE catID = 11 ORDER BY typeID ASC");
echo "<table>";
while ($row = mysql_fetch_assoc($query))
{
echo "<tr>";
for ($c = 0; $c < 3; $c += 1){
echo "<td>";
echo '<img src="data:image/jpg;base64,'.base64_encode($row['productImg'] ).'" width="300" height="200" alt=""
/>';
echo "<br>";
echo "<b>";
echo $row['productName'];
echo "</b>";
echo "<br>";
// More detail button set up
?><a href="show.php?productID=<?php echo $row["productID"]; ?>">More Detail <i class="fa fa-arrow-circle-o-right"></i></a> <?php
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
-)结果是:错误的结果图像
结果不是我所期望的,因为在一行上它显示了3个相同的图像。我想要的是在每行显示3个不同的图像。我不知道我哪里做错了。
1条答案
按热度按时间sc4hvdpw1#
结果不是我所期望的,因为在一行上它显示了3个相同的图像。
那是因为
for
循环,在同一个图像中循环三次。而是使用一个反变量$counter
跟踪迭代次数并每行显示三个不同的图像。旁注:不要使用
mysql_*
函数,它们在php5.5中被弃用,在php7.0中被完全删除。使用mysqli
或者pdo
相反。这就是为什么你不应该使用mysql_*
功能。