php数组处理

WBOY
WBOYOriginal
2016-06-23 14:11:38868browse

$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 />';  }}



如图所示,绿色的部分代表数量。紫色部分的*后面部分对应前面的数量。
如第一个的数量是120,后面对应的结果应该为3206 * 12 3207 * 63 3218 * 45
因为120 = 12+63+45.
而紫色的第二行结果应该为 3218 * 135。(180-45)

这是我想要的结果。

$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 />';  }}


假设数量设为120,得到的结果如下:
3206 * 12
3207 * 63
3218 * 45
3218 * 135
能不能将3218 * 135 记入下一个while循环?
也就是得到的第一个循环是
3206 * 12
3207 * 63
3218 * 45
下一个循环为
3218 * 135

这是我想得到的结果。


能不能像3楼的那个例子
紫色的第一行应该得到结果
3206 * 12
3207 * 63
3218 * 45
紫色第二行应该得到结果
3218 * 135(将这个结果记入下一个while循环)
而不是得到这样的结果:
第一行
3206 * 12
3207 * 63
3218 * 45
3218 * 135
第二行
3206 * 12
3207 * 63
3218 * 60
3218 * 120

你先把计算出的数据缓存到数组,然后再从数组输出

你先把计算出的数据缓存到数组,然后再从数组输出
但是结果都是循环输出的,怎么取到数组里面呢?求方案。

while($var = mysql_fetch_array($result,MYSQL_ASSOC))
{
     $res[] = $var['lotno'].' * '.($var['count']);
}

这不就到数组里了吗?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn