我创建了一个发票表,该表提供了数据库表中的行,其中数据库中的订单ID等于URL中传递的值。桌子很完美。这是代码:
$result = mysqli_query($con,"SELECT * FROM b_sale_basket WHERE ORDER_ID=$ID LIMIT 10");
while($row = mysqli_fetch_array($result)) {
$quantity = $row['QUANTITY'];
$description = $row['NAME'];
$unitprice = $row['PRICE'];
$lineprice = $row['PRICE']*$row['QUANTITY'];
$tbl_header = '<table style="width: 650px;" cellspacing="0" cellpadding="5">';
$tbl_footer = '</table>';
$tbl = '';
// foreach item in your array... $tbl .= '
<tr>
<td style="width: 50px; text-align: left; border-bottom: 0.1em solid #808080;"><p style="color:#808080;">'.number_format($quantity,0).'</p></td>
<td style="width: 350px; border-bottom: 0.1em solid #808080;"><p style="color:#808080;">'.$description.'</p></td>
<td style="width: 125px; text-align:right; border-bottom: 0.1em solid #808080;"><p style="color:#808080;">'.number_format($unitprice,2).'</p></td>
<td style="width: 125px; text-align:right; border-bottom: 0.1em solid #808080;" align="right" ><p style="color:#808080;">'.number_format($lineprice,2).'</p></td>
</tr> ';
此代码循环订单中的所有行。它显示:
Quantity | Product Name | Price | Line Total
1 | Gold Frame | £10.00 | £10.00
3 | Silver Frame | £5.00 | £15.00
所以我的问题。如何得到总线总数,所以对于上面的例子,我希望GRAND TOTAL等于25.00英镑。
我知道会有一个GROUP BY ID,但我不知道如何将每行的多个值数量*价格加在一起。
任何帮助都将不胜感激。
答案 0 :(得分:3)
只需在循环结果时添加它:
$total = 0;
while($row = mysqli_fetch_array($result)) {
$quantity = $row['QUANTITY'];
$description = $row['NAME'];
$unitprice = $row['PRICE'];
$lineprice = $row['PRICE']*$row['QUANTITY'];
$total += $lineprice;
}
echo $total;
答案 1 :(得分:1)
在循环开始之前引入新变量,并在每次循环迭代中增加$ lineprice的值。
$result = mysqli_query($con,"SELECT * FROM b_sale_basket WHERE ORDER_ID=$ID LIMIT 10");
$total=0;
while($row = mysqli_fetch_array($result)) {
$quantity = $row['QUANTITY'];
$description = $row['NAME'];
$unitprice = $row['PRICE'];
$lineprice = $row['PRICE']*$row['QUANTITY'];
$total=$total+$lineprice;
$tbl_header = '<table style="width: 650px;" cellspacing="0" cellpadding="5">';
$tbl_footer = '</table>';
$tbl = '';
// foreach item in your array... $tbl .= '
<tr>
<td style="width: 50px; text-align: left; border-bottom: 0.1em solid #808080;"><p style="color:#808080;">'.number_format($quantity,0).'</p></td>
<td style="width: 350px; border-bottom: 0.1em solid #808080;"><p style="color:#808080;">'.$description.'</p></td>
<td style="width: 125px; text-align:right; border-bottom: 0.1em solid #808080;"><p style="color:#808080;">'.number_format($unitprice,2).'</p></td>
<td style="width: 125px; text-align:right; border-bottom: 0.1em solid #808080;" align="right" ><p style="color:#808080;">'.number_format($lineprice,2).'</p></td>
</tr> ';
完成循环后,添加<tr><td>
并打印总计。