$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 />';}
没看明白你想要什么结果
$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 />'; }}
能不能像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']);
}
这不就到数组里了吗?