【发布时间】:2015-09-30 16:27:19
【问题描述】:
我有这段代码,我想把它做成一个网格表。到目前为止,我所拥有的结果都在一列中生成。我怎样才能使它在第一列达到 10 行时创建一个新列?
<table>
<thead>
<tr>
<th>Players</th>
</tr>
</thead>
<tbody>
<?php if( ( $Players = $Query->GetPlayers( ) ) !== false ): ?>
<?php foreach( $Players as $Player ): ?>
<tr>
<td align=center><?php echo "<img src=https://crafatar.com/avatars/".$Player."/?helm&size=32>
<p align=center>".$Player."</p>"; ?></td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td>No players Online.</td>
</tr>
<?php endif; ?>
</tbody>
</table>
【问题讨论】:
-
添加一个计数器变量
$i,每次迭代都会增加。然后您可以使用条件($i % 10 === 0)来检查是否需要创建新行。在这种情况下,只需输出</tr><tr>。 -
OP 询问的是每 10 行多列,而不是每 10 列多行。在这种情况下,您需要在显示表格之前提前填充一个数组。
标签: php html foreach html-table