在数据库中创建包含动态数据的表

时间:2017-03-17 03:25:13

标签: php mysqli

我有一个包含字段(行和col)的数据库。我现在正在创建一个动态表。这是我的代码。

    echo "<table border='1'>";
    $i = 1;
    while($i <= $fetch['row']) {
        echo "<tr>";
            $j = 1;
            while($j <= $fetch['col']) {
                echo "<td>";
                        echo "col ".$i." "."row".$j;
                echo "</td>";
                $j++;
            }

        echo "</tr>";
        $i++;
    }
    echo "</table>";

这很好用,结果就是这个。

-----------------------------------------------------------------------
| col 1 row 1 | col 1 row 2 | col 1 row 3 | col 1 row 4 | col 1 row 5 |
-----------------------------------------------------------------------
| col 2 row 1 | col 2 row 2 | col 2 row 3 | col 2 row 4 | col 2 row 5 |
-----------------------------------------------------------------------
| col 3 row 1 | col 3 row 2 | col 3 row 3 | col 3 row 4 | col 3 row 5 |
-----------------------------------------------------------------------
| col 4 row 1 | col 4 row 2 | col 4 row 3 | col 4 row 4 | col 4 row 5 |
-----------------------------------------------------------------------
| col 5 row 1 | col 5 row 2 | col 5 row 3 | col 5 row 4 | col 5 row 5 |

我怎么做到这样?

    1 |2 |3 |4 |5
    6 |7 |8 |9 |10
    11|12|13|14|15
    16|17|18|19|20
    21|22|23|24|25

2 个答案:

答案 0 :(得分:0)

这是个主意。 Haven没有运行代码。 $ i是列,$ j是根据输出表的行,与代码中的内容不同。

echo ( ($i-1)*count($fetch['col']) ) + $j;  
// will have to switch $i, $j, $fetch['row'] if you want the output in the other order
  

($ i-1)* count($ fetch [&#39; row&#39;])是行偏移量计算

     

第1行:(1-1)* 5 =&gt; 0 + $ j

     

第2行:(2-1)* 5 =&gt; 5 + $ j

答案 1 :(得分:0)

 $i = 1;
 echo '<table border="1">';
 echo '<tr>';
 for($i; $i<=25; $i++){
   echo '<td>';
   echo $i;
   echo '</td>';
   if($i%5 == 0){
     echo '</tr><tr>';
   }
 }
 echo '</tr>';
 echo '</table>';