这个php代码向我展示了我网站上目录的内容:
<?php
$dir = opendir(getcwd());
?>
<body>
<table>
<tbody>
<tr>
<?php
while (($file = readdir($dir)) !== false) {
{
echo "<td>". $file ."</td>";
}
}
closedir($dir);
?>
</tr>
</tbody>
</table>
</body>
它将结果放在table
中。
问题是PHP代码生成<td>
标记并将结果存储在其中。因此,最终的table
有一个<tr>
和尽可能多的<td>
个标签。
我想要的是table
每行3列(3 td)(tr标签)。
有没有办法让表格动态,并且每个第三个<td>
代码变成<tr>
代码
所以结果如下所示:(click here)
而不是这样:(click here)
答案 0 :(得分:4)
试试这个:
<?php
$dir = opendir(getcwd());
?>
<body>
<table>
<tbody>
<?php
$n = 0;
while (($file = readdir($dir)) !== false) {
{
if($n%3 == 0){echo "<tr>";}
echo "<td>". $file ."</td>";
$n++;
}
}
closedir($dir);
?>
</tbody>
答案 1 :(得分:1)
您可以使用modulus来跟踪您在循环中的位置。 然后,当您达到3的乘法时,重新启动表格行:
<?php
$dir = opendir(getcwd());
?>
<body>
<table>
<tbody>
<tr>
<?php
$counter = 0;
while (($file = readdir($dir)) !== false) {
{
if($counter % 3 == 0 && $counter != 0) echo "</tr><tr>";
echo "<td>". $file ."</td>";
$counter++;
}
}
closedir($dir);
?>
</tr>
</tbody>
</table>
</body>