我想从不同的表计算总和

时间:2019-07-11 14:15:12

标签: php mysql

This data comes from different tables我想从其他表格中计算总和。我是PHP新手,请帮助我。 在下面的屏幕快照中,所有值都来自数据库。

<table class="table table-bordered" id="sum_table">
    <tr>
    <th style="background-color: #ff7f7f">Items:</th>
    <td style="background-color: #44768e">Amount</td>
    </tr>
        <th>Total</th>
<td><?php

$qry = mysqli_query ("
SELECT sum(Price) 
  FROM rice 
 WHERE date BETWEEN DATE_FORMAT(NOW() - INTERVAL 1 MONTH, '%Y-%m-01') AND DATE_FORMAT(NOW() ,'%Y-%m-01')
");
$row2 = mysqli_fetch_assoc($qry);
echo $row2['total'];


$qry = mysqli_query ("
SELECT sum(Price) 
  FROM egg 
 WHERE date BETWEEN DATE_FORMAT(NOW() - INTERVAL 1 MONTH, '%Y-%m-01') AND DATE_FORMAT(NOW() 
,'%Y-%m-01')
");
$row = mysqli_fetch_assoc($qry);
echo $row['total'];

$total = $row['total'] + $row2['total'];
echo $total;

?></td>
</tr>

</table>

1 个答案:

答案 0 :(得分:1)

您的代码中有2个问题:

问题1: mysqli_query()需要2个参数,您没有在mysqli_query()

中使用连接变量

问题2:,如果您想像$row['total'] + $row2['total'];这样求和,则必须在查询中定义别名,例如:

SELECT SUM(column) as total FROM tablename

最好在本地环境上使用PHP error reporting,这将帮助您检查实际错误而不是空白页。

示例:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

编辑:

@ spencer7593在注释中强调了这一点,您正在直接计算两个值,假设如果查询未返回任何内容,那么您将得到新的错误。