【问题标题】:Creating a table with dynamic data in Database在数据库中创建包含动态数据的表
【发布时间】:2017-03-17 03:25:12
【问题描述】:

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

    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

【问题讨论】:

  • 你能澄清你的问题吗?
  • 如果你只想按顺序编号,你可以在$i = 1;下添加$number = 1;,然后在你的内部循环中将echo "col ".$i." "."row".$j;更改为echo $number;,最后在$j++;下添加$number++;
  • @JapanGuy 谢谢先生...我如何在 示例的特定数字上添加颜色 我希望 数字 23 为背景颜色:红色 我该怎么做?
  • 我不想给你写完整的代码,你为什么不想想呢?查看您的代码:有一行写着echo "&lt;td&gt;";
  • 你需要 有一个 23 的背景,像这样 &lt;td style='background: red'&gt;

标签: php mysqli


【解决方案1】:

这就是想法。没有运行代码。根据您的输出表,$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['row']) 是行偏移量计算

第 1 行:(1-1)*5 => 0 + $j

第 2 行:(2-1)*5 => 5 + $j

【讨论】:

  • 谢谢先生...我如何在 的特定数字上添加颜色我希望 数字 23 为背景颜色:红色我该怎么做?
  • 你应该为那个 $style=''; 使用 css if() $style="style="background-color:red"; or .red{background-color:red}
【解决方案2】:
 $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>';

【讨论】:

  • 谢谢先生...我如何在 的特定数字上添加颜色我希望 数字 23 为背景颜色:红色我该怎么做?
  • 您可以将类放在 td 中以获取红色,将不同的类用于其他颜色,并在这些类上应用 css。你也可以通过 jquery 来做到这一点。
猜你喜欢
相关资源
最近更新 更多
热门标签