$sql = "select * from `test` order by id asc";
$result = mysql_query($sql);

$grp_sum = array();
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
if($row['cc'] == 'aa')
{
$grp_sum['aa']['item1'] += $row['item1'];
$grp_sum['aa']['item2'] += $row['item2'];
$grp_sum['aa']['item3'] += $row['item3'];
}
if($row['cc'] == 'bb')
{
$grp_sum['bb']['item1'] += $row['item1'];
$grp_sum['bb']['item2'] += $row['item2'];
$grp_sum['bb']['item3'] += $row['item3'];
}
if($row['type'] == '1')
{
$grp_sum['1']['item1'] += $row['item1'];
$grp_sum['1']['item2'] += $row['item2'];
$grp_sum['1']['item3'] += $row['item3'];
}
if($row['type'] == '2')
{
$grp_sum['2']['item1'] += $row['item1'];
$grp_sum['2']['item2'] += $row['item2'];
$grp_sum['2']['item3'] += $row['item3'];
}

}
print_r($grp_sum);请问怎么求type字段的合计值?

解决方案 »

  1.   

    只需在循环中一次性完成
    ...
            if($row['type'] == '1')
            {
                $grp_sum['1']['item1'] += $row['item1'];
                $grp_sum['1']['item2'] += $row['item2'];
                $grp_sum['1']['item3'] += $row['item3'];
            }
            if($row['type'] == '2')
            {
                $grp_sum['2']['item1'] += $row['item1'];
                $grp_sum['2']['item2'] += $row['item2'];
                $grp_sum['2']['item3'] += $row['item3'];
            }
            if(in_array($row['type'], array('1', '2'))
            {
                $grp_sum['合计']['item1'] += $row['item1'];
                $grp_sum['合计']['item2'] += $row['item2'];
                $grp_sum['合计']['item3'] += $row['item3'];
            }