0

この PHP コードは、私の Web サイトのディレクトリの内容を表示します。

<?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各行(trタグ)ごとに3列(3 td)のaです。

テーブルを動的にし、3 番目のタグごとに<td>タグに変わり<tr>、結果が次のようになる方法はありますか: (ここをクリック)

このように見える代わりに: (ここをクリック)

4

2 に答える 2

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>

于 2012-10-09T11:32:04.400 に答える
1

モジュラスを使用して、ループのどこにいるかを追跡できます。次に、掛け算が 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>
于 2012-10-09T11:46:44.093 に答える