table正在创建1行而不是9行

hi3rlvi2  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(293)

我的数据库中有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停止并创建下一行,它也只输出一行?
我想表有9行,它应该自动计算有多少列必须作出如果有67个类别或更多。
任何帮助都将不胜感激。

wn9m85ua

wn9m85ua1#

更新2:
计算你需要多少列 $countCat = ceil(count($categories) / 9); . => n
添加 </tr><tr> 在循环中每n个项标记一次,以在html表中创建新行。例如,您可以对每n个项目使用模n(%n)来存档。 ++$i 移动到循环的底部,在末尾递增。
忽略创建 </tr><tr> 在第一个循环中,你可以使用: && $i !== 0 ```

        ?>

        <?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>

相关问题