0

HTMLテーブルの上に合計値を配置する、シンプルで最も実用的な方法を探しています。

通常、ループは、ループが終了した後に合計を生成できますが、これはすべての結果の表の下にあります。テーブルが非常に長く、売上の合計を確認するために毎回下にスクロールする必要がある場合は、非常に難しい場合があります。2 つのループを実行する必要がありますか、またはそれを行うためのトリックはありますか? タスクは非常に単純なようです。以下のコードでは、すべての注文の数量と総売上値を合計しています。

$lp=1; $total=0; $total_qt=0;
while ($record = mysql_fetch_array($result)){
$total += $record['Total'];
$total_qt += $record['Qt'];
echo '<tr style="background-color:'. ((next($colour) == true) ? current($colour) :     reset($colour)).'">
<td> ' . $lp++ . '</td>
<td class="bolder"> ' . $record['Name'] . '</td>
<td> ' . $record['Product'] . '</td>';
if ($invoice=="on") echo '<td style="font-size:11px">' . $record['Invoice'] . '</td>';
echo '<td> ' . $record['despatched'] . '</td>
<td> ' . $record['Qt'] . '</td>
<td> ' . $record['Price'] . '</td>
<td class="align_right"> ' . $record['Total'] . '</td>';

echo '</tr>';
}
echo '</table><div class="stat_total">Qt: '.$total_qt.'  Total: &pound;'.$total.'</div>    </div>';
4

2 に答える 2

1

SQL 関数を使用するSUM()と、PHP を実行しなくても合計にアクセスできます。

SQL

SELECT SUM(Total) FROM Orders

于 2012-09-29T16:21:13.147 に答える
1

変数を使用して、ループではなくループ中に出力を保存し、echoループを終了するとecho、保存された結果とその前後の両方の合計を使用できます。このような:

$lp=1; $total=0; $total_qt=0;
$output = ''; //here you temporarily save your output
while ($record = mysql_fetch_array($result)){
$total += $record['Total'];
$total_qt += $record['Qt'];
$output .= '<tr style="background-color:'. ((next($colour) == true) ? current($colour) :     reset($colour)).'">
<td> ' . $lp++ . '</td>
<td class="bolder"> ' . $record['Name'] . '</td>
<td> ' . $record['Product'] . '</td>';
if ($invoice=="on") $output .= '<td style="font-size:11px">' . $record['Invoice'] . '</td>';
$output .= '<td> ' . $record['despatched'] . '</td>
<td> ' . $record['Qt'] . '</td>
<td> ' . $record['Price'] . '</td>
<td class="align_right"> ' . $record['Total'] . '</td>';

$output .= '</tr>';
}
//Now you can put a div with the Total both at the start and end of the table 
echo '<div class="stat_total">Qt: '.$total_qt.'  Total: &pound;'.$total.'</div>';
echo $output . '</table>';
echo '<div class="stat_total">Qt: '.$total_qt.'  Total: &pound;'.$total.'</div>    </div>';
于 2012-09-29T16:21:18.117 に答える