【发布时间】:2020-12-27 12:35:55
【问题描述】:
整晚都把我的头撞在墙上,但还没有解决方案,假设我有这样的 Mysql 表结构:
ID name value year
1 Tom 15 2018
2 Tom 4 2019
3 Tom 6 2020
4 Kate 18 2018
5 Kate 20 2019
...and so on...
我想通过 PHP 打印如下所示的结果,并且年份应该是动态的,因为它会随着时间的推移而增加。请告诉我什么是一种方法谢谢
year |2018 |2019|2020
----------------------
Tom | 15 | 4 | 6
----------------------
Kate | 18 | 20 | ---
----- and so on ---
我的代码:
<table>
<?php
$mysqli = new mysqli('localhost', 'root', '123', 'news');
$report = array();
$columnIndex = 0;
$query = $mysqli->query("SELECT name, value, year FROM Testab");
while ($results = $query->fetch_assoc()) {
foreach ($results as $tos => $toa) {
$report[$tos][$columnIndex] = $toa;
}
$columnIndex++;
}
foreach ($report as $tos => $results) { ?>
<tr>
<th><?php echo $tos; ?></th>
<?php foreach ($results as $toa) { ?>
<th><?php echo $toa; ?></th>
<?php } ?>
</tr>
<?php } ?>
</table>
【问题讨论】:
-
如果您的数据库中没有 2019 年的数据,您的表是否还应该有 2018、2019、2020 列,还是在这种情况下您只想将 2019 年排除在外?
-
给定的代码到底是什么不工作?你有什么努力让它发挥作用?
标签: php mysql matrix html-table pivot