生成给定数字范围内的行和列 - PHP

时间:2017-08-23 20:15:09

标签: php html input dynamically-generated

我正在尝试构建一个小程序来自动完成一项小任务;在其中,可以写两个值(作为表单中的输入),然后,在另一个页面中,数字将以行和列的形式写入,所有数字都在给定的范围内。

事情是......范围内几乎总会有500个数字,所以我希望结果显示在10列,每行50行,如下图所示:

What I would like to achieve

我想要结果页面(包含所有数字的页面)然后可以将其导出为xml或pdf,但这是另一个故事.. 到现在为止,我只是希望显示正确。

我在XAMPP上使用HTML和PHP。我已经能够获得第一列...但是不能像其他人那样(或者直到50岁)接触其他人的世代:

First column of numbers

到目前为止,这就是我所拥有的,我将把我的PHP代码放在这里,因为我不认为HTML是相关的(但如果需要,也会发布) - (值通过POST方法传递)

    <?php

      $cont = 0;
      $i = 0;

      $arrayValues = range($valueFrom, $valueTo);

      if($cont <= 50){
        echo "<tr>";
        for($i = 0; $i < 50; $i++){
          echo "<p>$arrayValues[$i]</p>";
          $cont++;
        }
      echo "</tr>";
      }

     ?>

另外,使用这样的东西 - &gt; Use PHP to Generate HTML table with static Cell Count of MySQL Data并且工作正常,但我会将数字显示在列中......所以不是行(水平),所以......

    YES    |    NO
   1 4 7   |    1  2  3
   2 5 8   |    4  5  6
   3 6 9   |    7  8  9

这就是为什么我停止尝试使用表格而只是使用

标签来获得结果。

编辑: 所以,鉴于&#34;开始&#34;价值和&#34;结束&#34;一个范围的值,我希望能够打印10列中的所有这些值,每列50行(所以当它在第一列中达到50行时,它会自动移动到新列等等)和垂直(就像我试图在其上面的小图一样,在&#34; YES&#34;侧面)

任何想法或指导将不胜感激! :) 本周好好休息一下!

1 个答案:

答案 0 :(得分:0)

您可以通过将范围拆分为块并索引到嵌套循环中生成的列数组来完成此操作。

<table>
<?php
$valueFrom = 1;
$valueTo = 500;

$rowCount = 50;

$columns = array_chunk(range($valueFrom, $valueTo), $rowCount);

$columnCount = count($columns);

for ($row = 0; $row < $rowCount; $row++) {
    echo '<tr>';
    for ($column = 0; $column < $columnCount; $column++) {
        $number = $columns[$column][$row] ?? '';
        echo "<td>$number</td>";
    }
    echo '</tr>';
}
?>
</table>