改造CSV转HTML表格PHP脚本:为指定行添加<tfoot>标签
问题:给CSV转换的HTML表格最后4行添加标签
我用下面的PHP脚本处理大型CSV文件已经好几年了,它能把CSV里的147-170行、0-21列转换成HTML表格,其中第147行已经用标签包裹。现在需要修改代码,把选定范围里的最后4行(167-170行)用标签包裹,该怎么改?
原脚本
<?php $row = 1; if(($handle = fopen("CSV/thesfpsquads23.csv", "r")) !== false) { $table1 = '<table id="exampleaugnov" class="sfpsquad augnov">'; while (($data = fgetcsv($handle, 1000, ",")) !== false) { $table1Add = false; if($row >=147 && $row <= 170) $table1Add = true; $num = count($data); if($row == 147) { $table1 .= '<thead><tr>'; for($c = 0; $c <= 21; $c++) { $value = empty($data[$c]) ? "0" : $data[$c]; $table1 .= '<th>'.$value.'</th>'; } $table1 .= '</tr></thead><tbody>'; } else { if($table1Add) $table1 .= '<tr>'; for($c = 0; $c <= 21; $c++) { $value = empty($data[$c]) ? "0" : $data[$c]; if($table1Add) $table1 .= '<td>'.$value.'</td>'; } if($table1Add) $table1 .= '</tr>'; } $row++; } $table1 .= '</tbody></table>'; fclose($handle); echo $table1; } ?>
解决方案
修改后的完整代码
<?php $row = 1; if(($handle = fopen("CSV/thesfpsquads23.csv", "r")) !== false) { $table1 = '<table id="exampleaugnov" class="sfpsquad augnov">'; while (($data = fgetcsv($handle, 1000, ",")) !== false) { $table1Add = false; if($row >=147 && $row <= 170) $table1Add = true; $num = count($data); if($row == 147) { // 处理表头,开启tbody $table1 .= '<thead><tr>'; for($c = 0; $c <= 21; $c++) { $value = empty($data[$c]) ? "0" : $data[$c]; $table1 .= '<th>'.$value.'</th>'; } $table1 .= '</tr></thead><tbody>'; } elseif ($row == 167) { // 到达tfoot起始行,闭合tbody并开启tfoot $table1 .= '</tbody><tfoot>'; } // 处理tbody或tfoot中的行(排除表头行) if($table1Add && $row != 147) { $table1 .= '<tr>'; for($c = 0; $c <= 21; $c++) { $value = empty($data[$c]) ? "0" : $data[$c]; $table1 .= '<td>'.$value.'</td>'; } $table1 .= '</tr>'; } $row++; } // 闭合tfoot和表格 $table1 .= '</tfoot></table>'; fclose($handle); echo $table1; } ?>
关键改动说明
- 新增行号判断
$row == 167,在这一行时先闭合<tbody>标签,再开启<tfoot>标签,实现表格区域的切换。 - 调整行内容处理逻辑,拆分原有的else分支,让代码结构更清晰,避免嵌套过深。
- 最后闭合表格时,将原有的
</tbody>替换为</tfoot>,确保HTML结构完整闭合。
内容的提问来源于stack exchange,提问作者user2653322
相关产品推荐
相关产品推荐

