如何在div中美观展示带|分隔的数据库一对多关系记录
实现逐行展示数据库记录(字段间用" | "分隔)
以下是修改后的代码,完全移除了原有的卡片式布局,改成每行输出一条记录,字段间用|分隔:
<?php $mysqli = new mysqli("x", "y", "z", "a"); // 若涉及一对多关系,需调整SQL,比如用JOIN + GROUP_CONCAT合并关联数据 $result = mysqli_query($mysqli, "SELECT * FROM daftar_penawaran ORDER BY RAND() LIMIT 4"); // 可选:输出表头,让结构更清晰 echo "标题 | 内容 | 发布者 | 编号 | 时间戳<br>"; echo "--- | --- | --- | --- | ---<br>"; while($row = mysqli_fetch_array($result)){ // 按字段顺序拼接,用" | "分隔每行内容 echo $row['JudulPenawaran'] . " | " . $row['isipenawaran'] . " | " . $row['Penerbit'] . " | " . $row['NoPenawaran'] . " | " . $row['Timestamp'] . "<br>"; // 若需展示一对多的关联数据,可提前通过GROUP_CONCAT查询合并后输出 // echo $row['JudulPenawaran'] . " | " . $row['关联数据合集'] . "<br>"; } ?>
关键改动说明
- 移除了原代码中所有
div、img等HTML布局元素,简化为纯文本行输出 - 新增可选表头行,用类Markdown表格格式优化可读性,也可直接输出纯文本
- 针对一对多关系的处理:如果需要展示主表记录+关联的多条子表数据,需调整SQL语句,示例如下:
SELECT dp.*, GROUP_CONCAT(sb.目标字段 SEPARATOR ', ') AS 关联数据合集 FROM daftar_penawaran dp LEFT JOIN 关联子表名 sb ON dp.NoPenawaran = sb.关联外键字段 GROUP BY dp.NoPenawaran ORDER BY RAND() LIMIT 4
将查询到的$row['关联数据合集']加入到输出拼接内容中即可。
内容的提问来源于stack exchange,提问作者radityo nugroho
相关产品推荐
相关产品推荐

