我试图在矩阵表中创建一个新行,以获取每列中的总值 预期产出:
Day | Jan | Feb | Mar | Apr | May | Jun | ... | Dec |
1 | 3.0 | 0.0 | 0.0 | 0.0 | 5.0 | 1.0 | ... | 1.0 |
2 | 6.0 | 0.0 | 0.0 | 0.0 | 6.0 | 1.0 | ... | 1.0 |
3 | 3.0 | 0.0 | 0.0 | 4.0 | 0.0 | 0.0 | ... | 0.0 |
4 | 4.0 | 1.0 | 0.0 | 3.0 | 0.0 | 0.0 | ... | 0.0 |
5 | 3.0 | 1.0 | 0.0 | 2.0 | 0.0 | 1.0 | ... | 0.0 |
6 | 0.0 | 0.0 | 1.0 | 1.0 | 0.0 | 1.0 | ... | 0.0 |
7 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | ... | 2.0 |
8 | 0.0 | 0.0 | 0.0 | 2.0 | 1.0 | 0.0 | ... | 1.0 |
9 | 1.0 | 0.0 | 1.0 | 3.0 | 1.0 | 0.0 | ... | 0.0 |
10 | 4.0 | 0.0 | 1.0 | 3.0 | 0.0 | 0.0 | ... | 1.0 |
...
31 | 0.0 | 1.0 | 0.0 | 4.0 | 0.0 | 8.0 | ... | 0.0 |
Total |20.0 |12.0 |10.0 |11.0 |10.0 |30.0 | ... |10.0 |
以下是代码:
while($row = odbc_fetch_array($rs)){
$Station = $row['StationCode'];
$Year = $row['Year'];
$Day = $row['Day'];
$Month = $row['Month'];
$data[$Day][$Month] = $row['D_Rainfall'];
$montharray[] = $row['Month'];
}
<table class="table table bordered table-condensed">
<thead>
<tr>
<th>Day</th>
$montharray = array_unique($montharray);
foreach($montharray as $name){
echo '<th>' . $name . '</th>'; //Month
}
echo '</tr>';
echo '</thead>';
echo '<tbody>';
foreach($data as $day=>$rainfall){
echo '<tr>';
echo '<th>'. $day .'</th>'; //Days
foreach($montharray as $name){
$D_rainfall = isset($rainfall[$name]) ? $rainfall[$name] : '-';
echo '<td>' . $D_rainfall . '</td>'; //Rainfall value per day/month
}
echo '</tr>';
}
echo '<tr>';
echo '<th>Total</th>';
echo '<td> Sum? </td>'; // What do I need to do here?
}
echo '</tr>';
echo '</tbody>';
echo '</table>';
我还需要找到每列中的平均值,但我想如果我发现如何做到这一点,我可以处理平均行。
答案 0 :(得分:0)
您可以使用以下代码:
while($row = odbc_fetch_array($rs)){
$Station = $row['StationCode'];
$Year = $row['Year'];
$Day = $row['Day'];
$Month = $row['Month'];
$data[$Day][$Month] = $row['D_Rainfall'];
$montharray[] = $row['Month'];
$sumArray= [];
}
<table class="table table bordered table-condensed">
<thead>
<tr>
<th>Day</th>
$montharray = array_unique($montharray);
foreach($montharray as $name){
$sumArray[$name] = 0;
echo '<th>' . $name . '</th>'; //Month
}
echo '</tr>';
echo '</thead>';
echo '<tbody>';
foreach($data as $day=>$rainfall){
echo '<tr>';
echo '<th>'. $day .'</th>'; //Days
foreach($montharray as $name){
$sumArray[$name] += isset($rainfall[$name]) ? $rainfall[$name] : 0
$D_rainfall = isset($rainfall[$name]) ? $rainfall[$name] : '-';
echo '<td>' . $D_rainfall . '</td>'; //Rainfall value per day/month
}
echo '</tr>';
}
echo '<tr>';
echo '<th>Total</th>';
foreach($montharray as $name){
echo '<td>'. $sumArray[$name].'</td>'; // What do I need to do here?
}
echo '</tr>';
echo '</tbody>';
echo '</table>';