使用从phpmyadmin(MySQL)派生的PHP将图像显示为图像库

使用从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

我正在使用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>";
$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
,并相应地更改了
如果
条件,现在应该工作正常。