我试图从数组中创建结果表。我目前输出的结果如下:使用while/foreach构建复杂表格
ID VALUE EXTRA
--------------------------------------
| 1 | Value 1 | Extra 1 |
|-----|---------------------|----------|
| 1 | Value 2 | Extra 2 |
|-----|---------------------|----------|
| 2 | Value 3 | Some 1 |
|-----|---------------------|----------|
| 3 | Value 4 | Some 2 |
|-----|---------------------|----------|
| 3 | Value 5 | Nothing |
--------------------------------------
请注意重复的ID值。我想要做的是在我的当前循环内部建立一个不会显示重复ID的循环。事情是这样的:
ID VALUE EXTRA
--------------------------------------
| 1 | Value 1 | Extra 1 |
| |---------------------|----------|
| | Value 2 | Extra 2 |
|-----|---------------------|----------|
| 2 | Value 3 | Some 1 |
|-----|---------------------|----------|
| 3 | Value 4 | Some 2 |
| |---------------------|----------|
| | Value 5 | Nothing |
--------------------------------------
这里是我当前的代码,简化:
<?php
$i=0;
while ($i < $mynum) {
$f1=mysql_result($myresult,$i,"tableID");
$f2=mysql_result($myresult,$i,"values");
$f3=mysql_result($myresult,$i,"extra");
?>
<tr>
<td><?php echo $f1; ?></td>
<td><?php echo $f2; ?></td>
<td><?php echo $f3; ?></td>
</tr>
<?php
$i++;
}
?>
有没有在我想要的方式动态地建立这个表格的方法吗?还是应该重新思考我的策略?
我认为你需要统计每个ID的发生频率,以便在每个first-ID-table-cell上添加一个带有这个数字的'rowspan'。然后,您可以添加一个条件来检查当前ID是否与上次使用的ID不同。 – feeela
我认为http://stackoverflow.com/questions/6802346/auto-detect-number-of-same-entry-and-do-a-rowspan-according-to-the-number是你在找什么 – fvu