动态表(冒号取决于表的内容)

时间:2012-10-09 11:28:45

标签: php html html-table dynamic-tables

这个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)

2 个答案:

答案 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>