乘法并输出总和mysql php

时间:2019-01-04 20:31:03

标签: php mysql

请告诉我有一个代码:

    <?php
$host = 'localhost';
    $db   = '*';
    $user = '*';
    $pass = '*';
    $charset = 'utf8';

    $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
    $opt = [
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES   => false,
    ];
    $pdo = new PDO($dsn, $user, $pass, $opt);
    $stmt = $pdo->query("SELECT * FROM order_products WHERE id_order=1");
while ($row = $stmt->fetch()) {
    $summ = $row['price'] * $row['amount'];
    echo "
<tr> 
<td><img src='".$row['image']."' style='width:50px;border:2px solid #edc951;border-radius:5px;'></td>
<td>".$row['name']."</td>
<td>".$row['price']."</td>
<td><input type='text' value='".$row['amount']."' style='width:75px;'></td>
<td>".$summ."</td>
<td><input type='text' value='' style='width:75px;'></td>
<td><form action='/fun/deleteorder_products.php' method='post' style='display:inline-block;'>
    <a href='javascript:;' onclick='parentNode.submit();' style='text-decoration:none;color:#000;'><i class='far fa-trash-alt'></i>
    <input type='hidden' name='id' value='".$row['id']."'>
    </a></form></td>
 </tr>";

}
?>

有一个$summ变量来计算数量(数量*价格)。如何计算所有产品的总和?谢谢。

2 个答案:

答案 0 :(得分:1)

使用另一个变量来跟踪运行总和。

$total = 0:
while ($row2 = $stmt2->fetch()) {
    $summ = $row2['price'] * $row['amount'];
    $total += $summ;
    ...
}

获取所有行后,变量total将包含所有乘积之和。

答案 1 :(得分:0)

您可以将公式放在SUM函数中

SELECT SUM(amount * price) AS total

然后,您只需拨打电话:

$row2['total']