以“错误”的方式呈现表格:转置列和行?

Posted

技术标签:

【中文标题】以“错误”的方式呈现表格:转置列和行?【英文标题】:Render a Table the "wrong" way: transpose Columns and Rows? 【发布时间】:2012-06-05 23:30:34 【问题描述】:

我想知道是否有一种简单的方法可以使用标准 while(mysql_fetch_assoc) 绘制表格,其中最左边的列是这样的标题:

姓名 |彼得杰克逊 |史蒂文斯皮尔伯格 |马丁斯科塞斯 | 生日 | 1961 | 1946 | 1942 | 电影 |指环王 |侏罗纪公园 |恐惧角 |

(Rats!SO 不支持 table-tag)。

【问题讨论】:

您可以创建一个字符串数组,然后在对结果进行迭代时将特定列添加到合适的数组元素中。 【参考方案1】:

我会通过将元素添加到数组结构然后打印该结构来做到这一点:

$data = array('name' => array(), 'birth' => array(), 'movie' => array());
while($r = mysql_fetch_assoc(...)) 
  $data['name'][] = $r['name'];
  ...


echo '<th>Name</th>';
foreach($data['name'] as $n) 
  printf('<td>%s</td>', htmlspecialchars($n));

...

【讨论】:

为什么在第 3 行的 $data-variable 上有额外的 '[]' 或者它只是一个错字? 这不是错字。 $data['name'] 本身是一个数组,我正在向其中添加元素。如果您仍然不了解语法,请阅读有关数组的手册。

以上是关于以“错误”的方式呈现表格:转置列和行?的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL 中转置列和行的简单方法?

如何在 PostgreSQL 中转置列和行(即如何切换行和列)? [复制]

需要通过 SQL 转置列

转置列 Oracle sql

转置列或反透视 SQL 查询

当 BigQuery 中没有任何“id”类型列时转置行和列