用table输出指定行和列的数据。

身居漏室,心系天下

    假设数据库的一个表里有16条数据,我们要输出其中一个字段的值,例如question_name,用table我们可以循环16行来把它显示出来,但实际上我们要用4行4列来做这个事情。要实现这个目的,我可以这样:

<table class="grid">
    <tr>
    <?php foreach ($result as $i => $row) : ?>
        <td><?= htmlspecialchars($row['question_name']) ?></td>
        <?php if (($i + 1) % 4 == 0) : ?></tr><tr><?php endif ?>
    <?php endforeach ?>
    </tr>
</table>

    你需要在每显示4个的时候做判断,来关闭一个tr,重新打开一个tr.

用table完成这项目标其实不是一个好的选择,用ul,li加css更好实现,这样不用每4个就来一个判断。例如:

?>
<ul class="grid">
    <?php foreach ($result as $row) : ?>
        <li><?= htmlspecialchars($row['question_name']) ?></li>
    <?php endforeach ?>
</ul>

css样式:
.grid {
    list-style: none;
    width: 512px;
}

.grid li {
    float: left;
    width: 128px;
    height: 128px;
}
京ICP备14008139号-1