使用从phpmyadmin(MySQL)派生的PHP将图像显示为图像库
我正在使用PHP、HTML和MySQL建立一个网站 所以,我的目标是为我的网页制作一个图片库,每行只显示3张图片 但我的代码似乎是错误的,我不知道应该在哪里进行更正 -)这是我的代码:使用从phpmyadmin(MySQL)派生的PHP将图像显示为图像库,php,html,mysql,image,display,Php,Html,Mysql,Image,Display,我正在使用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($q
$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>";
$query=mysql\u query(“从catID=11的产品中按类型ID ASC选择不同的*);
回声“;
while($row=mysql\u fetch\u assoc($query))
{
回声“;
对于($c=0;$c<3;$c+=1){
回声“;
回声';
回声“
”;
回声“;
echo$row['productName'];
回声“;
回声“
”;
//更详细的按钮设置
?>
结果并不是我期望的那样,因为在一行上它显示了3个相同的图像
这是因为使用了for
循环,您将在同一图像中循环三次。相反,请使用计数器变量$counter
跟踪迭代次数,并在每行显示三个不同的图像
<?php
$query = mysql_query("SELECT DISTINCT * FROM products WHERE catID = 11 ORDER BY typeID ASC");
if(mysql_num_rows($query)){
$counter = 0;
echo "<table><tr>";
while ($row = mysql_fetch_assoc($query)) {
if($counter != 0 && $counter % 3 == 0){
echo "</tr><tr>";
}
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>";
++$counter;
}
echo "</tr></table>";
}
?>
旁注:不要使用mysql.*
函数,它们在PHP 5.5中被弃用,并在PHP 7.0中被完全删除。使用或替代..谢谢!出于大学目的,不知何故我坚持使用PHP v5.5。您的代码运行良好,但我发现了一个问题,即$counter最好用0或否则排列会很奇怪(第一行显示3个图像,但下一行显示4个图像)。但不用担心,代码工作正常!再次感谢…@Json,感谢提出这个问题,我已将$counter
初始化为0
,并相应地更改了如果
条件,现在应该工作正常。