我很难弄清楚这一点。我有这个数据库迟早会变大,它看起来像这样。
est_id |mat_id | est_qty | qty_rec
2 | 29 | 50 | 0
3 | 29 | 70 | 0
8 | 29 | 100 | 0
现在,我想要完成的是更新一行,直到 est_qty 和 qty_rec 相等,然后再移动到另一行。我开始了一个代码,但它不工作。
foreach($mat_id as $mat_id_key => $mat){
while($rec_qty > 0){
$remBal = $est_qty[$mat_id_key] - $qty_rec[$mat_id_key];
if(($remBal - $rec_qty) >= 0){
mysql_query('UPDATE `estimates` SET `qty_rec` = `qty_rec` + '.$rec_qty.' WHERE `proj_id` = "'.$proj_id.'" AND `mat_id` = "'.$mat[$mat_id_key].'"');
}
}
}
在此代码中,每一行都将进入循环,直到它满足 est_qty 和$rec_qty
a 之间的差值大于或等于零的条件,它将更新该行。
例如,用户输入 30 作为$rec_qty
,数据库现在看起来像:
est_id |mat_id | est_qty | qty_rec
2 | 29 | 50 | 30
3 | 29 | 70 | 0
8 | 29 | 100 | 0
当用户第二次输入时,例如 40 as $rec_qty
,数据库现在看起来像:
est_id |mat_id | est_qty | qty_rec
2 | 29 | 50 | 50
3 | 29 | 70 | 20
8 | 29 | 100 | 0