早上好
我一直在努力从数据库创建数字总和这一简单任务。我想做的是在另一个循环中创建一个循环。
第一个循环是从数据库中获取“项目”,并在我的页面上的表中报告值,并且在页面的最后一列之后括号括起来。现在,我要执行的部分是使用$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推送到下一个循环,直到第二个循环结束才改变),或者我在这里确实错过了一些愚蠢的事情……
答案 0 :(得分:-1)
您可能需要更改此设置。我认为您在这里做错了事:
$id=$row['project_id'];
对此:
$id=$row1['project_id'];
查看修改代码