php - 在不同的表格中显示所有服务名称及其下面的图片

标签 php html mysql image while-loop

我想显示名为“服务”的表中的所有服务,其下方是另一个名为“图库”的表中该服务的图片/照片。

数据库:

服务:id、服务名称、服务描述
图库:id、图片图像、图片名称、图片描述

这就是我想要实现的目标

服务1
(图1)(图2)(图3)

服务2
(图4)(图5)(图6)

服务3
(图7) (图8)

这是我的代码:

            $query1 = mysqli_query($conn, "SELECT * FROM gallery") OR die("Error: ".mysqli_error($conn));
            $query2 = mysqli_query($conn, "SELECT * FROM services") OR die("Error: ".mysqli_error($conn));
            while($row2 = mysqli_fetch_array($query2)){
              echo"<p>".$row2['serviceName']."</p>";
            while($row1 = mysqli_fetch_array($query1)){
              echo"
              <div class='col-md-3'>
                <div class='galleryCard'>
                  <a href='image/$row1[pictureImage]'><img class='img img-responsive' src='image/".$row1['pictureImage']."' width='100%'></a>
                  <p class='galleryText'>".$row1['pictureDesc']."</p>
                </div>
              </div>";
            }
          }

这是我的学校项目,对于我糟糕的英语和困惑的问题,我感到非常抱歉,我希望你们能够理解。谢谢!

最佳答案

向表 gallery 添加另一列,名称为 service_id(使其与表 service 类型相同) id 列)并输入每个图像的服务的 id。然后按如下方式更改代码以使魔法发挥作用

$query1 = mysqli_query($conn, "SELECT * FROM services") OR die("Error: ".mysqli_error($conn));
while($row1 = mysqli_fetch_array($query1)){
    echo"<p>".$row2['serviceName']."</p>";
    //choose only the images belonging to the service
    $query2 = mysqli_query($conn, "SELECT * FROM gallery WHERE `service_id`=".$row1['id']) OR die("Error: ".mysqli_error($conn));

    while($row2 = mysqli_fetch_array($query2)){
        echo"
          <div class='col-md-3'>
            <div class='galleryCard'>
              <a href='image/".$row1['pictureImage']."'><img class='img img-responsive' src='image/".$row1['pictureImage']."' width='100%'></a>
              <p class='galleryText'>".$row1['pictureDesc']."</p>
            </div>
          </div>";
    }
}

关于php - 在不同的表格中显示所有服务名称及其下面的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53491142/

相关文章:

python - 在 Python 中获取 MySQL 日期时间字段时忽略秒数

Mysql 查询第一次和第二次执行给出不同的计数

PHP 调用 function_exists 中的函数

php - 使用 echo 退出 for 循环

javascript - 如何使用 AJAX 返回 JS 值

html - 列表元素内外的链接不起作用

javascript - 用整个菜单替换一个大字(css/js?)

php - 在 PHP 中跳过以 # 开头的单词

html - 在 IndexedDB 中,有没有办法进行排序复合查询?

php - 调用未定义函数 mysql_real_escape_string()