$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 であるため
そして、紫色の 2 行目の結果は 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 />'; }}
最初の行
3206 * 12
3207 * 63
3218 * 45
3218 * 135
2 行目
3206 * 12
3207 * 63
3218 * 60
3218 * 120
まず計算されたデータを配列にキャッシュし、次に配列から出力します
まず計算されたデータを配列にキャッシュし、次に配列から出力します
ただし、結果はすべてループ、なぜそれを配列に入れるのですか?計画を尋ねてください。
while($var = mysql_fetch_array($result,MYSQL_ASSOC))
{
これ配列の中だけではないでしょうか?