我正在尝试生成一个从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>
答案 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 loop和mysql_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>";
除非你有一个非常具体的理由不这样做,否则我会使用这种方法。它很灵活,它会在查询返回时打印多行(这意味着您只需要更改查询,而不是代码)。
答案 2 :(得分:0)
看一下php网站,几乎所有的条目都有例子,数据库的东西显示了一个while循环,这是最好的方法..
写表开头标记,加上任何标题..
虽然能够获得更多的数据库数据,但是能够获得它并且
显示表格行打开标记 通过遍历字段显示行,并在单元格标记之间输出它们 显示行标记的结尾
现在你已经完成了数据,写下表的末尾
有很多例子。
为了循环通过这个领域,这就是为什么他们发明了一个“foreach”,例如,你有0或10000,你可以通过每一个,即使它不连续,所以对于苹果中的每个“水果”,梨,班纳纳..