日期:2014-05-17  浏览次数:20501 次

php数组处理

$sql = "SELECT b.lotno as lotno,count(b.lotno) as count FROM `kw_manage` as a inner join `vp_barcode_2d_y` as b on a.packageno = b.packageno where a.cust_no = '".$newstr."' group by lotno order by lotno asc";
$result = mysql_query($sql);
while($var = mysql_fetch_array($result,MYSQL_ASSOC))
{
     echo $var['lotno'].' * '.($var['count']).'<br />';
}


得到结果:
3206 * 12
3207 * 63
3218 * 180

能不能做到以下处理结果?当count对应的数量之和为100时,显示
3206 * 12
3207 * 63
3218 * 25
总和100之外的数据显示
3218 * 155

------解决方案--------------------
$num = 0;
while($var = mysql_fetch_array($result,MYSQL_ASSOC))
{
  if($num + $var['count'] <= 100) {
     echo $var['lotno'].' * '.($var['count']).'<br />';
     $num = $num + $var['count'];
  }else {
     echo $var['lotno'].' * '.(100 - $num).'<br />';
     $num = $num + $var['count'] - 100;
     echo $var['lotno'].' * '. $num .'<br />';
  }
}

------解决方案--------------------
你先把计算出的数据缓存到数组,然后再从数组输出