我的数据库中有67个类别,我使用$categories
调用这些类别。
我想将它们全部动态地打印到表中。
到目前为止我尝试过的事情:
<table class="mdl-data-table mdl-js-data-table mdl-shadow--2dp">
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<?php
$countCat = round(count($categories) / 10); // 67 / 10 = 6. 7 | with round = 7
$i = 0;
foreach ($categories as $key => $value) {
++$i;
if ($i >= 10) {
?>
<td class="mdl-data-table__cell--non-numeric">
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="<?php print $value['catID']; ?>">
<input type="checkbox" id="<?php print $value['catID']; ?>" class="mdl-checkbox__input">
<span class="mdl-checkbox__label"><?php print $value['categoryNames']; ?></span>
</label>
</td>
<?php
}
if ($i >= 20) { ?>
<td class="mdl-data-table__cell--non-numeric">
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="<?php print $value['catID']; ?>">
<input type="checkbox" id="<?php print $value['catID']; ?>" class="mdl-checkbox__input">
<span class="mdl-checkbox__label"><?php print $value['categoryNames']; ?></span>
</label>
</td>
</tr>
<?php
}
}
?>
</tbody>
即使使用$ i停止并创建下一行,它也只输出1行?
我希望表格有9行,如果有67个或更多类别,它应该自动计算必须创建多少列。
任何帮助将不胜感激。
答案 0 :(得分:1)
更新2:
使用$countCat = ceil(count($categories) / 9);
计算您需要多少列。 => N
在循环内每N个项目添加</tr><tr>
标签,以在html表中创建新行。例如,您可以每N个项目以模N(%N)进行归档。
++$i
移至循环的底部,在末尾递增。
要忽略在第一个循环中创建</tr><tr>
,您可以使用:&& $i !== 0
<table class="mdl-data-table mdl-js-data-table mdl-shadow--2dp">
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<?php
$countCat = ceil(count($categories) / 9);
$i = 0;
foreach ($categories as $key => $value) {
?>
<?php if ($i % $countCat === 0 && $i !== 0) { ?></tr><tr><?php } ?>
<td class="mdl-data-table__cell--non-numeric">
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for="<?php print $value['catID']; ?>">
<input type="checkbox" id="<?php print $value['catID']; ?>" class="mdl-checkbox__input">
<span class="mdl-checkbox__label"><?php print $value['categoryNames']; ?></span>
</label>
</td>
<?php
++$i;
}
?>
</tr>
</tbody>
结果: