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

如何在SQL查询用户ID切换时生成对应用户的Profile Div?

解决按用户分组展示标题的问题

我来帮你搞定这个按用户分组展示标题的需求~核心思路就是跟踪当前处理的用户ID,每次检测到用户ID变化时,切换对应的div容器,把同一用户的标题都放到专属的div里。

修改后的完整代码

$result = mysqli_query($con, $sqltwo) or die(mysqli_error());
// 初始化当前用户ID,用来检测分组切换
$current_user_id = null;
// 循环遍历查询结果
while($row = mysqli_fetch_array($result)) {
    // 检测用户ID是否发生切换
    if ($row['user_id'] !== $current_user_id) {
        // 如果不是第一个用户,先关闭上一个div
        if ($current_user_id !== null) {
            echo "</div>\n";
        }
        // 更新当前用户ID
        $current_user_id = $row['user_id'];
        // 生成新的用户div,class用user+ID的形式,适配任意数量的用户
        echo "<div class=\"user{$current_user_id}\">\n";
    }
    // 输出当前标题
    echo $row['title'] . "<br>\n";
}
// 循环结束后,关闭最后一个div(避免标签不闭合)
if ($current_user_id !== null) {
    echo "</div>\n";
}

代码关键点解释

  • $current_user_id变量:用来记录当前正在处理的用户ID,初始值设为null,确保第一次循环能正常创建第一个div。
  • 用户ID切换检测:每次循环先对比当前行的user_id和$current_user_id,如果不同就触发分组切换逻辑。
  • 动态生成div类名:用user{$current_user_id}作为class名称,不管未来有多少用户,都能自动生成对应的容器,比如用户1对应user1,用户2对应user2,比固定写userone、usertwo更灵活。
  • 闭合最后一个div:循环结束后一定要检查并关闭最后一个div,否则会导致HTML结构不完整,影响页面渲染。

最终输出示例(HTML)

<div class="user1">
title1<br>
title2<br>
title3<br>
title4<br>
title5<br>
</div>
<div class="user2">
title6<br>
title7<br>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:31:23