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

如何对比前后数据库记录?实现按国家分组的城市列表添加换行

实现国家切换时添加额外换行的解决方案

实现这个需求的核心是跟踪上一个输出的国家名称,每次循环对比当前国家与上一个是否不同,若不同且不是第一个国家,就插入额外换行。修改后的代码如下:

<?php
$resultaat = mysqli_query($connection, "SELECT * FROM locatie_eu ORDER BY country, city ASC");
$rij = mysqli_fetch_array($resultaat);
// 初始化变量存储上一个国家,初始为空
$vorigeLand = '';

while ($rij) {
    // 不是第一个国家且当前国家与上一个不同时,输出额外换行
    if ($rij['country'] != $vorigeLand && !empty($vorigeLand)) {
        print("<br><br>");
    }

    print($rij['vlag']);?> : <?php print($rij['country']);?>, <b><a href="<?php print($rij['link']);?>" target="new"><?php print($rij['city']);?></a></b><br>

    // 更新上一个国家为当前国家
    $vorigeLand = $rij['country'];
    $rij = mysqli_fetch_array($resultaat);
}
?>

关键说明:

  • $vorigeLand 用来记录上一次输出的国家,初始值为空,确保第一个国家前不会额外换行
  • 判断条件 $rij['country'] != $vorigeLand && !empty($vorigeLand) 既避免了第一次循环触发换行,又能在国家切换时插入额外的<br><br>
  • 每次循环结束后必须更新$vorigeLand的值,保证下一次对比的准确性

内容的提问来源于stack exchange,提问作者Robin Huyghebaert

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:50:17