日期:2014-05-16  浏览次数:20471 次

请教:查询DB后相同类型的记录合并为一行显示且可展开。
数据在DB中存储如上图,现在要在页面如下图显示,即:相同编码的记录显示为一行,且将“费用”列做加法;点击加号可展开为实际记录。

------解决方案--------------------

$res =mysql_query(select 工程,编码,sum(费用) from table group by 编码)
foreach($res as $k=>$v){
   $res[$k]['child']  =  mysql_query(select 工程,编码,费用 from table where 编码=$v['编码']);
}
echo '<table><tr><td>工程</td><td>编码</td><td>费用</td></tr>';
foreach($res as $v){
   echo '<tr><td>$v['工程']</td><td>$v['编码']</td><td>$v['费用']</td></tr>';
   foreach($v['child'] as $vv){
      echo '<tr style='display:none;'><td>$vv['工程']</td><td>$vv['编码']</td><td>$vv['费用']</td></tr>';
   }
}
echo '</table>';