Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在pdo中回显总和_Php_Mysql_Pdo - Fatal编程技术网

Php 在pdo中回显总和

Php 在pdo中回显总和,php,mysql,pdo,Php,Mysql,Pdo,我想显示HTML表格中的所有行,在最后一行中,我想生成Pay列的总和并显示它。 我有一个SQL查询,可以从表中选择全部: <?php $selectAll = "SELECT * FROM sales WHERE date_now = :date"; $stmtAll=$conn->prepare($selectAll); $stmtAll->bindValue(':date', date("y-m-d")); $

我想显示HTML表格中的所有行,在最后一行中,我想生成Pay列的总和并显示它。 我有一个SQL查询,可以从表中选择全部:

<?php
        $selectAll = "SELECT * FROM sales WHERE date_now = :date";
        $stmtAll=$conn->prepare($selectAll);
        $stmtAll->bindValue(':date', date("y-m-d"));
        $execAll=$stmtAll->execute();
        $result=$stmtAll->fetchAll();
      ?>
它向我显示html表中的所有数据。但当我将此添加到查询中时:

<?php
        $selectAll = "SELECT sum(pay) as total, sales.* FROM sales WHERE date_now = :date";
        $stmtAll=$conn->prepare($selectAll);
        $stmtAll->bindValue(':date', date("y-m-d"));
        $execAll=$stmtAll->execute();
        $result=$stmtAll->fetchAll();
      ?>

然后在一个新的行中:它只显示所有表中的一行,但总数被正确地回显。

因此,您应该从查询中删除sum,以与第一个查询相同,并且您有两个选择来获取sum:

1-运行下一个查询以获取总和:

SELECT sum(pay) as total FROM sales WHERE date_now = :date
2-通过php代码,使var$sum=0;然后在循环中为第一个查询添加pay值$sum=$sum+$rows['total']


这是因为查询中的sum作为收集行集合,并对“支付每个分组依据”的所有值进行求和,例如,如果您希望在“发票”字段中获得所有支付的总和,请选择“按发票从销售组中支付sumpay”,如果您未使用“分组依据”,则将像查询一样对所有销售行进行求和

您的总和是什么?mean sun for sales.id,sales.invoice\u id?我想显示html表中的所有行,在foreach finish循环之后,我想添加一个新行,使所有名为Pay.sum的列的总和成为一个聚合函数。您可以尝试选择select sumpay from sales,其中date\u now=:date as total,*from sales,其中date\u now=:date