4

我在格式化表格时遇到问题。我从查询中得到了一组与此类似的行:

5   23   d
5   23   d
5   23   t
5   24   d
5   24   t
4   23   d
4   23   t

现在,我想将它们显示在一个表中,但将相似的数据分组,如下所示:

         d
5   23   d
         t
    24   d
         t
4   23   d
         t

因此,<td>对于 5 将是<td rowspan='5'>或前 23 将是<td rowspan='3'>。我怎样才能做到这一点?

我想过制作一个多维数组,为每个行跨度存储一个数字,但是原始的行集更长,所以我在某个地方迷路了,我想有一个更简单的解决方案。

4

1 回答 1

4

您可以按列值对查询结果进行分组。例如:

$grouped=array();
foreach($rows as $r)
  $grouped[ $r[0] ][ $r[1] ][]=$r[2];
于 2012-12-13T22:08:26.733 回答