Har*_*y M 6 html php html-table
在过去的几个小时里,我一直试图弄清楚PHP代码在三列中显示一个列表,以便它有这个订单
A D G
B E H
C F I
Run Code Online (Sandbox Code Playgroud)
但我真的迷路了.谁能帮我这个?我目前只有按此顺序列出的代码
A B C
D E F
G H I
Run Code Online (Sandbox Code Playgroud)
这是我目前的代码:
echo '<table><tr>';
foreach ($categories as $k => $category) {
if ($k % 3 == 0 && $k ! = 0) {
echo '</tr><tr>';
}
echo '<td><a href="category.php?category='.$category["id"].'">'.$category["category"].'</a></td>';
}
echo '</table>';
Run Code Online (Sandbox Code Playgroud)
小智 5
尝试这个:
$columns = 3;
$rows = ceil(count($categories) / $columns);
echo '<table>';
for ($row = 0; $row < $rows; $row++) {
echo '<tr>';
foreach ($categories as $k => $category) {
if ($k % $rows == $row) {
echo '<td><a href="category.php?category='.$category["id"].'">'.$category["category"].'</a></td>';
}
}
echo '</tr>';
}
echo '</table>';
Run Code Online (Sandbox Code Playgroud)
它的效率不是很高,但是现在我无法想到一种更好的方法。
如果你想拥有列表呈现在列所示,你可以在逻辑顺序生成它,只是使用CSS columns属性设置在列:
ul {
-moz-column-count: 2;
-webkit-column-count: 2;
column-count: 2;
}
Run Code Online (Sandbox Code Playgroud)
坏消息是IE 9和更早的版本不支持此功能,但是诸如css3-multi-column.js之类的Columns polyfills在简单情况下(尽管有局限性和问题)可能会运行良好。
| 归档时间: |
|
| 查看次数: |
9697 次 |
| 最近记录: |