来自数据库中某一列的值之和

时间:2018-11-20 09:02:10

标签: php loops sum

早上好

我一直在努力从数据库创建数字总和这一简单任务。我想做的是在另一个循环中创建一个循环。

第一个循环是从数据库中获取“项目”,并在我的页面上的表中报告值,并且在页面的最后一列之后括号括起来。现在,我要执行的部分是使用$id从数据库中的“预算”中获取值,以及使用project_id='$id'进行求和并在数据库的另一个单元中回显的那些值。同一张桌子。

到目前为止,我的代码如下:

<?php   
include 'dbcon.php';

$query1=mysqli_query($con,"select * from project ORDER BY project_id ASC")or die(mysqli_error($con));
while ($row1=mysqli_fetch_array($query1)){
        $id=$row['project_id'];
        $total=0;
        $query = mysqli_query($con,"SELECT * FROM budget WHERE project_id='$id'");
        while ($row=mysqli_fetch_array($query)){
        $total=$total+$row['amount'];}
?>
<tr>
<td colspan="2"><?php echo $row1['project_name'];?></td>
<td><?php echo $total;?></td>
<td><?php echo $row1['project_status'];?></td>
</tr>
<?php }?>

现在我得到的是表中的0,而不是摘要。我也尝试了在网站上找到的一些解决方案,例如:

$query = mysqli_query($con,"SELECT sum(amount) as total FROM budget WHERE project_id='$id'");

那个人也没有运气。现在我有两种解释。我可能无法正确构建一个循环中的循环(我相信设置$id=$row1['project_id']会将project_id推送到下一个循环,直到第二个循环结束才改变),或者我在这里确实错过了一些愚蠢的事情……

1 个答案:

答案 0 :(得分:-1)

您可能需要更改此设置。我认为您在这里做错了事:

 $id=$row['project_id'];

对此:

 $id=$row1['project_id'];

查看修改代码