You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将MySQL查询结果输出为3列表格而非单列

问题:将MySQL查询结果按3列表格布局展示

推荐的帖子并未解决我的问题,我已经看过那篇了,为何这么早关闭我的问题?我已经说明那些帖子对我毫无帮助!

我尝试了数十条自动推荐的类似帖子,也在谷歌上搜索了数小时。我经验不足,看到的示例不知道如何适配我的页面。

我想要实现的是:将MySQL查询结果拆分到3列表格中,每个单元格包含一条记录的所有信息,列数固定为3,行数随新增图片自动增加。

注意:请先告知我如何修改或问题所在再关闭问题或给我差评,我已经查遍类似帖子,除非有人指点否则不知道怎么解决,提前感谢!

编辑:当前内容已在表格内,但我需要将表格内的结果拆分到一个新的3列表格中。

编辑2:我需要每条数据库记录的内容显示在一个单元格里,循环生成另外2个单元格后换行,再生成下一行的3个单元格,以此类推,每条数据库记录对应一个单元格,每行3条记录。

当前代码

<div align="center"><img src="header.jpg"><br>
  <br>
  <a href="form.php" target="_blank"><font face="Verdana, Arial, Helvetica, sans-serif" color="#9999FF">CLICK 
  HERE TO ADD YOUR SELFIE</font></a><br>
  <br>
</div>
<table width="50%" border="1" cellspacing="0" cellpadding="0" align="center">
  <tr> 
    <td> 
      <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><?php
  // Include the database configuration file
  include 'config.php';
  // Get images from the database
  $query = $db->query("SELECT nameviewer, file_name FROM image ORDER BY uploaded_on DESC");
  if($query->num_rows > 0){
      while($row = $query->fetch_assoc()){
          $nameviewer = 'uploads/'.$row["nameviewer"];
          $imageURL = 'uploads/'.$row["file_name"];
  ?>

<a href="<?= $imageURL; ?>" target="_blank"><img src="<?= $imageURL; ?>" width="150" /></a><br>
        <font color='lightblue'> <b><?php 
echo htmlspecialchars($row["nameviewer"]);  ?></b></font><br>
        <font size="2"><i><font color="#999999">Click The Pic To Expand</font></i></font><br>
        _______________<br><br>
        <?php }} ?>
</font></div>
    </td>
  </tr>
</table>

修改后的代码

<div align="center"><img src="header.jpg"><br>
  <br>
  <a href="form.php" target="_blank"><font face="Verdana, Arial, Helvetica, sans-serif" color="#9999FF">CLICK 
  HERE TO ADD YOUR SELFIE</font></a><br>
  <br>
</div>
<table width="50%" border="1" cellspacing="0" cellpadding="0" align="center">
<?php
// Include the database configuration file
include 'config.php';
// Get images from the database
$query = $db->query("SELECT nameviewer, file_name FROM image ORDER BY uploaded_on DESC");
if($query->num_rows > 0){
    $count = 0; // 计数器,控制每行的单元格数量
    while($row = $query->fetch_assoc()){
        // 每3条记录开启一个新行
        if($count % 3 == 0){
            echo '<tr>';
        }
        $imageURL = 'uploads/'.$row["file_name"];
?>
        <td align="center" valign="top">
            <font face="Verdana, Arial, Helvetica, sans-serif">
                <a href="<?= $imageURL; ?>" target="_blank"><img src="<?= $imageURL; ?>" width="150" /></a><br>
                <font color='lightblue'><b><?= htmlspecialchars($row["nameviewer"]); ?></b></font><br>
                <font size="2"><i><font color="#999999">Click The Pic To Expand</font></i></font><br>
                _______________<br><br>
            </font>
        </td>
<?php
        $count++;
        // 每3条记录关闭当前行
        if($count % 3 == 0){
            echo '</tr>';
        }
    }
    // 处理最后一行不足3条的情况,补空单元格
    $remaining = 3 - ($count % 3);
    if($remaining != 3){
        for($i=0; $i<$remaining; $i++){
            echo '<td>&nbsp;</td>';
        }
        echo '</tr>';
    }
}
?>
</table>

关键修改点

  • 新增$count计数器,跟踪已输出的记录数量,控制每行的单元格数
  • 当$count % 3 == 0时,开启新的<tr>行标签
  • 将每条记录的内容独立包裹在<td>单元格中,替代原来所有内容放在单个单元格的结构
  • 每输出3条记录后,关闭当前<tr>行标签
  • 最后处理剩余不足3条的记录,补充空单元格保证表格结构完整

内容的提问来源于stack exchange,提问作者Christopher Robbins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 18:20:48