【发布时间】:2022-01-23 15:11:29
【问题描述】:
我有一个如下的 sql 查询,它得到的输出与我需要的一样。
SELECT Node,
Round(MAX(CASE WHEN Date= '2022-01-17' THEN Value END),2) AS day01,
Round(MAX(CASE WHEN Date = '2022-01-18' THEN Value END),2) AS day02,
Round(MAX(CASE WHEN Date = '2022-01-19' THEN Value END),2) AS day03,
Round(MAX(CASE WHEN Date = '2022-01-20' THEN Value END),2) AS day04,
Round(MAX(CASE WHEN Date = '2022-01-21' THEN Value END),2) AS day05,
Round(MAX(CASE WHEN Date = '2022-01-22' THEN Value END),2) AS day06,
Round(MAX(CASE WHEN Date = '2022-01-23' THEN Value END),2) AS day07
FROM table01
GROUP BY Node;
输出:
现在我需要将此表设置为html表,我使用了以下方法。
while ($row = $result -> fetch_assoc())
{
$Node_table .= '<td style="text-align:center"><b>'.$row['Node'].'</td>';
$date06_table .= '<td style="text-align:center">'.$row['day01].'</td>';
$date05_table .= '<td style="text-align:center">'.$row['day02].'</td>';
$date04_table .= '<td style="text-align:center">'.$row['day03].'</td>';
$date03_table .= '<td style="text-align:center">'.$row['day04].'</td>';
$date02_table .= '<td style="text-align:center">'.$row['day05].'</td>';
$row['Node']++;
}
$messagenew.= '
<table style="top: 15px; left:10px;" border=1 >
<tbody>
<caption style="color: rgb(241, 239, 243);background: rgb(1, 32, 65); ">UGW Peak Throughput(Gb/s)</caption>
<tr>
<td><b></td>'.$Node_table .'
</tr>
<tr>
<td style="text-align:center" ><b>day01</td>'.$date01_table .'
</tr>
<tr>
<td style="text-align:center"><b>day02</td>'.$date02_table .'
</tr>
<tr>
<td style="text-align:center"><b>day03</td>'.$date03_table .'
</tr>
<tr>
<td style="text-align:center"><b>day04</td>'.$date04_table .'
</tr>
<tr>
<td style="text-align:center"><b>day05</td>'.$date05_table .'
</tr>
</tbody>
</table>
';
但这段代码提供了我实际需要的转置形状。这是我收到的输出。
谁能告诉我我哪里做错了?(忽略里面的数字只是为了代表)
【问题讨论】:
-
$row['Node']++的意义是什么; ?你真的应该有这样的事情吗?我认为您应该先将其注释掉。