生成包含可变行和单元格的html表

时间:2011-06-17 20:10:54

标签: php html-table

我正在尝试生成一个从mysql数据库获取数据的表。有8列,但行数可变,具体取决于数据库中的信息量。我遇到的问题是我有两个变量的东西,我不知道如何使用两个while循环(或者如果这是正确的选择)。

下面的代码可以生成一个包含8列和可变行数的表,但我不知道如何用顺序整数替换thing。我希望每个单元格中只有一个整数,就像while循环一样,直到numbers = $end

CODE:

<?php

$end=82;  //will get all this data from a dabase
$rows=ceil($end/8);
$x=0;
$start=0;
?>
<table>
<?php
While ($x<=$rows){


echo"

        <tr>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
    </tr>

    ";
    $x++;
    }
?>
</table>

3 个答案:

答案 0 :(得分:1)

这将从1开始每行输出8个数字并转到$end。我不确定$maxprobs在这里是什么。

<?php

$end=82;  //will get all this data from a dabase
$rows=ceil($end/8);
$x=0;
$start=0;
?>
<table>
<?php
while($x<=$rows) {
  echo "<tr>";
  for ($y = 0; $y < 8; $y++, $start++) {
    if ($start <= $end) echo "<td>$start</td>";
  }
  echo "</tr>";
  $x++;
}
?>
</table>

答案 1 :(得分:1)

我不得不问 - 如果你是从MySQL数据库中提取行,并且你希望你的表根据数据有一个动态的行数,那么你是否有任何具体的理由不按常规方式进行,while loopmysql_fetch功能?

$data = mysql_query("SELECT row1, row2, ... , row8 FROM table WHERE ...); // Sample query, edited for brevity.

echo "<table>";

while ($result = mysql_fetch_object($data))
(
        echo "<tr>";
        echo "<td>".$data->row1."</td>;
        echo "<td>".$data->row2."</td>;
        ... // Edited for brevity. Include as many columns as you queried.
        echo "<td>".$data->row8."</td>;
        echo "</tr>";
}

echo "<table>";

除非你有一个非常具体的理由不这样做,否则我会使用这种方法。它很灵活,它会在查询返回时打印多行(这意味着您只需要更改查询,而不是代码)。

有关mysql_fetch_object和mysql_query的更多信息,分别可以找到herehere

答案 2 :(得分:0)

看一下php网站,几乎所有的条目都有例子,数据库的东西显示了一个while循环,这是最好的方法..

写表开头标记,加上任何标题..

虽然能够获得更多的数据库数据,但是能够获得它并且

显示表格行打开标记   通过遍历字段显示行,并在单元格标记之间输出它们 显示行标记的结尾

现在你已经完成了数据,写下表的末尾

有很多例子。

为了循环通过这个领域,这就是为什么他们发明了一个“foreach”,例如,你有0或10000,你可以通过每一个,即使它不连续,所以对于苹果中的每个“水果”,梨,班纳纳..