这段循环要如何纠正
程序员文章站
2022-05-01 11:37:57
...
这段循环要怎么纠正?
一个分类数据表pql_spices_class:有 分类一、分类二、分类三、……每个分类有对应的ID
一个列表数据表pql_spices:有商品名称、价格、分类ID、分类名称
要把pql_spices表里的价格按分类分别统计价格总价,但我这段代码的结果是:分类一统计对了,到了分类二确是分类一的总和加上分类二的总和,到了分类三确是分类二+加上分类三的总和,以此类推,每一次新分类的统计都会自动加上 上一次分类的统计总和,这就不对了。
请问代码要怎么写,才能准确得到各自分类的统计。不知道这样提问大家能不能明白我要问的意思。
------解决思路----------------------
你的 $Prices 总是累加没有清0,自然就是现在的结果
再说一个分组求和的查询指令就可完成的事情,为何要用循环累加完成?
------解决思路----------------------
$sa='select * from pql_spices_class order by id asc';
$ra=mysql_query($sa);
$i=1;
while($rsa=mysql_fetch_array($ra,MYSQL_ASSOC))
{
[color="red"]$Prices=0;//这里清零[/color]
//echo $rsa['classname'].",".$rsa['id']."
";
$cid = $rsa['id'];
$resf=mysql_query('SELECT * FROM `pql_spices` where classid='.$cid.' ORDER BY id DESC');
while($rsf=mysql_fetch_array($resf))
{
$Prices+=$rsf['Price'];
}
echo $i."、".$rsa['classname'].":".$Prices."元,";
$i++;
}
$sa='select * from pql_spices_class order by id asc';
$ra=mysql_query($sa);
$i=1;
while($rsa=mysql_fetch_array($ra,MYSQL_ASSOC))
{
//echo $rsa['classname'].",".$rsa['id']."
";
$cid = $rsa['id'];
$resf=mysql_query('SELECT * FROM `pql_spices` where classid='.$cid.' ORDER BY id DESC');
while($rsf=mysql_fetch_array($resf))
{
$Prices+=$rsf['Price'];
}
echo $i."、".$rsa['classname'].":".$Prices."元,";
$i++;
}
一个分类数据表pql_spices_class:有 分类一、分类二、分类三、……每个分类有对应的ID
一个列表数据表pql_spices:有商品名称、价格、分类ID、分类名称
要把pql_spices表里的价格按分类分别统计价格总价,但我这段代码的结果是:分类一统计对了,到了分类二确是分类一的总和加上分类二的总和,到了分类三确是分类二+加上分类三的总和,以此类推,每一次新分类的统计都会自动加上 上一次分类的统计总和,这就不对了。
请问代码要怎么写,才能准确得到各自分类的统计。不知道这样提问大家能不能明白我要问的意思。
------解决思路----------------------
你的 $Prices 总是累加没有清0,自然就是现在的结果
再说一个分组求和的查询指令就可完成的事情,为何要用循环累加完成?
------解决思路----------------------
$sa='select * from pql_spices_class order by id asc';
$ra=mysql_query($sa);
$i=1;
while($rsa=mysql_fetch_array($ra,MYSQL_ASSOC))
{
[color="red"]$Prices=0;//这里清零[/color]
//echo $rsa['classname'].",".$rsa['id']."
";
$cid = $rsa['id'];
$resf=mysql_query('SELECT * FROM `pql_spices` where classid='.$cid.' ORDER BY id DESC');
while($rsf=mysql_fetch_array($resf))
{
$Prices+=$rsf['Price'];
}
echo $i."、".$rsa['classname'].":".$Prices."元,";
$i++;
}
相关文章
相关视频
下一篇: python中正则表达式的应用讲解
推荐阅读