从两个单独的mysql数据库选项卡获取的总计
目前我正在处理Mysql数据库上的两个单独的表,ITEM和CUSTOMER。 详情如下从两个单独的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
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'];