background image

PHP 如何循环输出自定义表格

@函数功能,根据记录总数生成自定义表格,按列换行
@参数说明
$col:每隔几列进行换行
$total_num:记录总数这里可以理解为列的总数
*/
function loop_table($col,$total_num){

for($i=0;$i<$total_num;$i++){//根据记录总数进行循环
if($i%$col==0&&$i==0){//如果当前循环次数能被列数整除,并且是第一次循环

echo '
<tr><td>'.$i.'</td>';//输出行头,注意还带有第一列

}else if($i%$col==0&&$i!=($total_num-1)){//如果当前循环次数能被列整除,并且
不是第一次循环,并且当前列不是总列数的最后一列

echo '</tr>
<tr><td>'.$i.'</td>';//输出上一行结尾,同时输出下一行的行头,注意还输出了

当前列
}else if($i%$col==0&&$i==($total_num-1)&&($total_num%$col!=0)){//// 如 果
当前循环次数能被列整除,并且不是第一次循环,并且当前列是总列数的最后一列

echo '</tr>
<tr><td>'.$i.'</td></tr>

';//输出上一行结尾,同时输出下一行的行头,输出最后一列,注意还带有行结尾
}else if($i%$col!=0){//如果当前循环次数不能被列数整除,只输出列

echo '<td>'.$i.'</td>';

}
}
}

echo '<table border=1>';
//我现在有 10 条记录,想要每行显示 3 个,函数将会生成一个 4 行 3 列的表格,但是最
后一行只会输出一个单元格
loop_table(3,10);
echo '</table>';
?>