【发布时间】:2018-03-14 14:13:39
【问题描述】:
我正在尝试编写一个逻辑来在表格中从上到下而不是从左到右显示记录。
这是我的尝试:
<?php $options = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); ?>
<table border="1" colspan="0" cellspan="0">
<?php
$htmldata = "";
$counter = 1;
$rowcount = ceil(count($options) / 3);
for ($i = 0; $i < count($options); $i++) {
echo $counter % 3 ."<br/>";
if ($counter % 3 == 1) {
$htmldata .= "<tr>";
$htmldata .= "<td>".$options[$i]."</td>";
}
if ($counter % 3 == 2) {
$htmldata .= "<td>".$options[$i]."</td>";
}
if ($counter % 3 == 0) {
$htmldata .= "<td>".$options[$i]."</td>";
$htmldata .= "</tr>";
}
$counter++;
}
echo $htmldata;
exit;
?>
</table>
下表是当前代码输出。
但我需要表格这样输出。
我怎样才能做到这一点?
你们能帮我写这个逻辑吗?
此外,它目前显示 10 条记录,但可能或多或少,因此我们需要代码是动态的。
任何帮助将不胜感激。提前致谢!
注意:对于任意数量的记录,它必须只有 3 列,并且对于 10 条记录,输出必须与第二张图片示例中显示的相同。
【问题讨论】:
-
你的输出标准是什么?它必须是3列宽吗?如果你的数组中有 50 个项目,你希望它仍然是 3 列宽怎么办?请使用“限制”条件定义您想要的输出。
-
@Nic,是的,它必须只有 3 列。对不起,我忘了提。
-
为什么 8 到了第三列而不是第二列的底部?如果有 11 个值,那么 8 会转到第二列吗?
-
@salathe 请参阅my answer 和后续的 cmets。我也有同样的想法。
-
@salathe 似乎他希望反映溢出记录的正常表格布局的外观,但希望以垂直顺序显示记录。 奇数
标签: php html html-table