php - 在 SQL 中获取具有相同 id 的行总和到 PHP

标签 php mysql sql

我需要帮助来获取具有相同 id 的两行中的一些行: 我知道这个的 SQL 代码是:

SELECT orderID,sum(itemPrice) as sum FROM orderitems GROUP BY orderID;

但是我不知道如何在 PHP 中实现这个。 这是我的代码:

   <?php
    require('database.php');
    $query = 'SELECT * FROM `orderitems`';
    $statement = $db->prepare($query);
    $statement->execute();
    $addresses = $statement->fetchAll();
    $statement->closeCursor();



    $order_id = filter_input(INPUT_POST, 'order_id');

    $total='SELECT SUM(itemPrice)  
            FROM orderitems 
            group by orderID';
    $statement = $db->prepare($total);
    $statement->execute();
    $total_order= $statement->fetchAll();


    ?>
    <html>
        <head>
            <title>Total of the order</title>
            <link rel="stylesheet" type="text/css" href="main.css" />

        </head>
        <body>
            <h1>
                Total for an order 
            </h1>
            <h4>
                <label>orderID : </label> <?php echo $order_id ;?>


            </h4>
            <p>The total for this order consisting of :</p>

            <p><?php echo $total_order; ?>

            </p>
        </body>
    </html>

但它没有显示结果而是写简单的ARRAY 我什至尝试过 var_dumb 但后来它显示如下:

array(3) { [0]=> array(2) { ["SUM(itemPrice)"]=> string(6) "399.00" [0]=> string(6) "399.00" } [1]=> array(2) { ["SUM(itemPrice)"]=> string(6) "699.00" [0]=> string(6) "699.00" } [2]=> array(2) { ["SUM(itemPrice)"]=> string(7) "1048.99" [0]=> string(7) "1048.99" } }

它显示了正确的答案,但我想摆脱其他的东西。

最佳答案

两个建议:

(1) 您的源代码表明您要选择特定的 orderId。因此,您的第二个准备好的 SQL 语句缺少实现此目的的 WHERE 子句。或者,第二个语句缺少 orderID 列,您可以使用该列从获取的结果中访问相应的行。

(2) 您获取结果的方式生成了一个数组,其中每个元素由第二条语句选择的行之一组成。您仍然需要选择目标行。选择该行后,您还必须访问相应的列。因此,为了便于讨论,假设“var-dump”示例中的第二行是所需的行。您可以像这样访问它:

<p><?php echo $total_order[1]['sum(itemPrice)']; ?>

关于php - 在 SQL 中获取具有相同 id 的行总和到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40190656/

相关文章:

php - 命名空间运算符...有什么大不了的?

php - 是否有任何在线工具或可以简化此 MySQL SELECT 查询的人?

php - 使用POST方法将表单中的数据插入mysql

SQL 服务器模式审计?

sql - Oracle将行重复N次,其中N是列

javascript - 将 Javascript 添加到 php 代码

php - 获取用户关注者信息以及用户关注者数量

javascript - 如果 MySQL 获得新的最高 ID,如何触发 PHP?

php - 是否可以从 PHP 中的两个不同服务器连接两个表(一个 Mysql,另一个 Oracle)?

PHP OOP 获取一个类的所有父类