
本文介绍如何使用PHP循环遍历数据库记录,并按每3条数据为一组自动插入标签,实现响应式三列布局的HTML表格,避免手动计算行数,确保结构语义正确且兼容性强。
本文介绍如何使用php循环遍历数据库记录,并按每3条数据为一组自动插入`
要实现“每三条记录开启新行”的表格布局(即第1–3条在第一行、第4–6条在第二行、第7条起新开第三行……),关键在于控制标签的起始与闭合时机,而非简单按索引模3判断——因为最后一组可能不足3项,需确保最终 闭合,且不额外多输出空行。
以下是优化后的完整实现方案(已整合原代码逻辑并修复常见陷阱):
<style type="text/css">
table {
border: 1px solid #1C6EA4;
background-color: #EEEEEE;
text-align: center;
border-collapse: collapse;
width: 100%;
}
td {
width: 33.333%;
padding: 8px;
border: 1px solid #ccc;
}
</style>
| 暂无设备信息 | ||
| " . htmlspecialchars($row["Equipment_Name"]) . " | "; $rowNum++; // 当前为第3、6、9...条时,且不是最后一条,则闭合当前行并开启新行 if ($rowNum % 3 === 0 && $rowNum num_rows) { echo "\n||
✅ 关键要点说明:
- 使用单个数据库连接,提升性能与可维护性;
- htmlspecialchars() 防止XSS攻击,增强安全性;
- $rowNum % 3 === 0 判断是否为第3、6、9…条,配合 $rowNum num_rows 避免在末尾多输出
; ——否则当总记录数不能被3整除时(如7条),第7条所在行将缺少闭合标签,导致HTML结构损坏;- 必须在循环外补上最终
- CSS中td { width: 33.333% }配合table { width: 100% }确保三列等宽自适应(建议用CSS Grid或Flexbox替代表格布局以获更好响应性,但本例保持语义化表格结构)。
? 进阶提示: 若需支持更多列数(如每4列换行),仅需将 3 替换为对应数字,并同步调整CSS宽度即可。此模式具备良好扩展性,适用于产品展示、卡片列表等典型场景。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











