PHP while循环的数值 相加得出一个总和 同一个页面多个总和不冲突

//购物车页面<?$sql="select*from购物车";$query=mysql_query($sql,$conn);while($row=mysql_fetch_... //购物车页面
<?
$sql = "select * from 购物车";
$query = mysql_query($sql,$conn);
while($row = mysql_fetch_array($query)){
$jiage = $row['单价'];
$shuliang = $row['数量'];
$he = $shuliang*$jiage;
$num = $num +$he;
}
echo '购物车总价:'.$num.'元';
//这里得到的$num的结果是对的
?>
//提交后的订单的页面
<?
//下面是有问题的代码,按照下面的写法,当订单数据库中只有一个订单 比如订单号都是100的 得出的$num的总价是正确的 假设是 500元
//但是如果有第二个订单,比如里面还有101订单号的(它的总价是100元),那循环出来的两条订单就是 100订单 总价500元 101订单总价600元
//问题就表现在了 第二个while循环后的 $he金额总和总是会加上前一个订单的金额。。。。。
//我知道是我写法有问题,请大佬指点 如何能得到 订单编号100:总价500元 订单编号101:总价100元
$sql = "select id,count(*) as num,订单号 from 订单表 group by 订单号 order by time desc";
$query = mysql_query($sql,$conn);
while($row = mysql_fetch_array($query)){
echo '订单编号:'.$row['订单号'];

$sql2 = "select * from 订单表 where 订单号 = $row[订单号] order by time desc";
$query2 = mysql_query($sql2,$conn);

while($row2 = mysql_fetch_array($query2)){
$jiage = $row2['单价'];
$shuliang = $row2['数量'];
$he = $shuliang*$jiage;
$num = $num +$he;
}
echo '总价:'.$num.'元';
}
?>
展开
 我来答
匿名用户
2019-04-05
展开全部
$num在循环前初始化为 $num=0
循环中,$num += $he; 就好了,你现在的问题是,每次循环num的值都被覆盖复制了,把变量提外面,内部叠加就好了
追问
真的很感谢你!按照您的方法解决了问题,是我太大意了 好人一生平安
追答
多看书,多敲代码哈,加油
日落的糖Kf
2019-04-06 · TA获得超过4万个赞
知道大有可为答主
回答量:3400
采纳率:0%
帮助的人:550万
展开全部
需要注意变量的作用域,
请仔细分析代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式