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

如何通过PHP按部门拆分员工数据生成独立表格?

按部门拆分员工表格的实现方案

要实现按部门拆分独立表格,核心思路是先按部门排序查询结果,再在循环中跟踪部门变化,动态创建/关闭表格,具体步骤如下:

1. 修改SQL查询语句

首先要确保查询结果按部门排序,让同一部门的员工连续出现,方便后续分组处理。假设员工表中部门字段名为department,修改后的SQL如下:

$employee_qry = $conn->query("SELECT * FROM `employee` ORDER BY `department` ASC") or die(mysqli_error());

2. 编写PHP循环逻辑,动态生成部门表格

通过变量跟踪当前所在部门,每次部门变化时,关闭上一个表格(若已存在),并创建新的部门表格及表头:

// 初始化当前部门变量
$current_dept = '';
// 循环处理每一行数据
while($row = $employee_qry->fetch_array()){
    // 获取当前员工的部门
    $dept = $row['department'];
    
    // 部门变化时切换表格
    if($dept != $current_dept){
        // 非首次循环时,关闭上一个表格
        if($current_dept != ''){
            echo '</tbody></table>';
        }
        // 更新当前部门
        $current_dept = $dept;
        // 输出新部门的表格标题与结构
        echo '<h3>'.$dept.' 部门员工</h3>';
        echo '<table border="1">';
        echo '<thead><tr><th>ID编号</th><th>姓名</th><th>国籍</th></tr></thead><tbody>';
    }
    
    // 输出当前员工的表格行
    echo '<tr>';
    echo '<td>'.$row['idnumber'].'</td>';
    echo '<td>'.$row['EmpleName'].'</td>';
    echo '<td>'.$row['Nationality'].'</td>';
    echo '</tr>';
}
// 循环结束后,关闭最后一个表格
if($current_dept != ''){
    echo '</tbody></table>';
}

关键说明

  • 请替换示例中的department为你员工表中实际的部门字段名。
  • 表格样式可通过CSS自定义,示例中border="1"仅为基础展示。
  • 若存在无部门的员工,可添加判断逻辑,将这类员工单独放在“无部门”表格中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 20:27:17