从两个单独的mysql数据库选项卡获取的总计

从两个单独的mysql数据库选项卡获取的总计,mysql,html-table,sum,Mysql,Html Table,Sum,目前我正在处理Mysql数据库上的两个单独的表,ITEM和CUSTOMER。 详情如下 ITEM Id Name Cost Payment Balance CustomerName CUSTOMER Id CustomerName Balance 我需要完成两项任务: 当我向项目数据库插入记录时,客户数据库上的余额字段应该更新 当我看到客户购买的所有物品时,应计算该客户的余额总额 请帮忙 目前我正在使用以下代码: $Id=$_GET['Id']; ........ $query = "SEL

目前我正在处理Mysql数据库上的两个单独的表,ITEM和CUSTOMER。 详情如下

ITEM
Id
Name
Cost
Payment Balance
CustomerName

CUSTOMER
Id
CustomerName
Balance
我需要完成两项任务:

  • 当我向项目数据库插入记录时,客户数据库上的余额字段应该更新

  • 当我看到客户购买的所有物品时,应计算该客户的余额总额

  • 请帮忙

    目前我正在使用以下代码:

    $Id=$_GET['Id'];
    ........
    $query = "SELECT Item.id, Item.Name, Item.Cost, Item.PaymentBalance,Item FROM Item INNER JOIN customer ON customer.CustomerName = visam.CustomerName where customer.Id='$Id'";
    $result = mysql_query($query) or die(mysql_error());
    
    <?php
    while($rows=mysql_fetch_array($result)){
    ?>
    <tr>
    <td width="20px" ><? echo $rows['id']; ?></td>
    <td width="310px" ><? echo $rows['Name']; ?> </td>
    <td width="310px" ><? echo $rows['Cost']; ?> </td>
    <td width="210px" ><? echo $rows['PaymentBalance']; ?> </td>
    
    $Id=$\u GET['Id'];
    ........
    $query=“在customer.CustomerName=visam.CustomerName where customer.id=”$id')上选择Item.id、Item.Name、Item.Cost、Item.PaymentBalance、Item FROM Item内部联接customer中的Item;
    $result=mysql\u query($query)或die(mysql\u error());
    
    结果现在显示正确,但我不知道如何得到总的付款余额在页面的结尾

    
    
    <?php $total_balance=0; ?>
    
    ..// your while loop
    
    <?php $total_balance+=$rows['PaymentBalance']; ?>
    
    ..// end while loop
    
    <?php var_dump($total_balance); ?>
    
    ../while循环 ../end while循环
    我建议将余额显示为表格的最后一行

    while($rows=mysql_fetch_array($result)){
    $balance += $rows['PaymentBalance'];
    <tr>
    <td width="20px" ><? echo $rows['id']; ?></td>
    <td width="310px" ><? echo $rows['Name']; ?> </td>
    <td width="310px" ><? echo $rows['Cost']; ?> </td>
    </tr>
    }
    <tr>
    <td width="210px" ><? echo $balance; </tr>?>
    

    可能是建议在customer id字段而不是customer name上链接两个tbales。这是常见的做法,而且要快得多。比较数字要比比较字符串有效得多。你是对的,过去经常这样做,这只是一个快速的工作,我不太擅长编码。我从ID开始,但后来改为name,因为我不知道如何在ITEM表中填充客户名称,因为那里只存储了ID。我的解决方案对你有用吗?亲爱的voodoo417,Shawn;谢谢你的回复,但是代码没有产生任何结果。此代码应搜索客户订购的所有项目,并对未支付的余额求和,也许我应该在插入项目记录时填充客户表上的余额字段。请参阅编辑更新。另外,您能否展示一个表模式的示例,以便我们可以看到您的数据是什么样子的?这是我的代码:这是我的数据表如果我理解您的表模式,两个表中都有“balance”列,但在您的原始问题代码中,您称之为“PaymentBalance”。您可以将列名更改为该名称,或者尝试将余额列别名,在这种情况下,它将如下所示:选择Item.id、Item.name、Item.Cost、Item.balance作为“PaymentBalance”,Item FROM Item INNER。。。那么您的代码$balance+=$rows['PaymentBalance']现在应该可以工作了。作为最后一点,请注意区分大小写。选择平衡$行['balance']。
    $balance += $rows['Cost'];