while($qtytoAdd > 0) {
$remBalance = mysql_result(mysql_query('SELECT `est_qty` - `qty_rec` as balance FROM `estimates` WHERE `proj_id` = "'.$proj_id.'" AND `mat_id` = "'.mat_id_from_mat_desc($materials).'" AND `qty_rec` <> `est_qty` ORDER BY `item_id` ASC'), 0);
$balid = mysql_result(mysql_query('SELECT `est_id` FROM `estimates` WHERE `proj_id` = "'.$proj_id.'" AND `mat_id` = "'.mat_id_from_mat_desc($materials).'" AND `qty_rec` <> `est_qty` ORDER BY `item_id` ASC'), 0);
$currRec = mysql_result(mysql_query('SELECT `qty_rec` FROM `estimates` WHERE `proj_id` = "'.$proj_id.'" AND `mat_id` = "'.mat_id_from_mat_desc($materials).'" AND `qty_rec` <> `est_qty`'), 0);
$currid = mysql_result(mysql_query('SELECT `req_id` FROM `requestdetails` JOIN `request` USING(`req_id`) WHERE `proj_id` = "'.$proj_id.'" AND `mat_id` = "'.mat_id_from_mat_desc($materials).'" AND `req_qty` <> `current_rec_qty` ORDER BY `req_id` ASC'), 0);
if(($remBalance - $qtytoAdd) >= 0) {
mysql_query('UPDATE `estimates` SET `qty_rec` = `qty_rec` + "'.$qtytoAdd.'" WHERE `proj_id` = "'.$proj_id.'" AND `mat_id` = "'.mat_id_from_mat_desc($materials).'" AND `est_id` = "'.$balid.'"');
$qtytoAdd = 0;
mysql_query('UPDATE `estimates` SET `qty_onhand` = `qty_rec` - `qty_rel` WHERE `proj_id` = '.$proj_id.' AND `qty_rec` <> `est_qty` AND `mat_id` = '.mat_id_from_mat_desc($materials).' AND `est_id` = '.$balid.'');
} else {
mysql_query('UPDATE `estimates` SET `qty_rec` = "'.$remBalance.'" + "'.$currRec.'" WHERE `proj_id` = "'.$proj_id.'" AND `mat_id` = "'.mat_id_from_mat_desc($materials).'" AND `est_id` = "'.$balid.'"');
$qtytoAdd = $qtytoAdd - $remBalance;
mysql_query('UPDATE `estimates` SET `qty_onhand` = `qty_rec` - `qty_rel` WHERE `proj_id` = '.$proj_id.' AND `qty_rec` <> `est_qty` AND `mat_id` = '.mat_id_from_mat_desc($materials).' AND `est_id` = '.$balid.'');
}
}
我真的不知道问题是什么。我正在谈论的问题是这个:
mysql_query('UPDATE `estimates` SET `qty_onhand` = `qty_rec` - `qty_rel` WHERE `proj_id` = '.$proj_id.' AND `qty_rec` <> `est_qty` AND `mat_id` = '.mat_id_from_mat_desc($materials).' AND `est_id` = '.$balid.'');
答案 0 :(得分:0)
如果它不在else语句中工作,为什么不尝试回显查询然后复制该查询并将其粘贴到查询分析器或phpmyadmin中,并检查它是否运行。像这样的东西:
else {
$query="enter your query here";
echo $query;
mysql_query($query);
}
在浏览器中打印查询后,您将知道正在运行的查询并检查它是否正确。需要一些调试技巧
答案 1 :(得分:0)
试试这个
else {
mysql_query('UPDATE `estimates` SET `qty_rec` = "'.$remBalance + $currRec.'" WHERE `proj_id` = "'.$proj_id.'" AND `mat_id` = "'.mat_id_from_mat_desc($materials).'" AND `est_id` = "'.$balid.'"');
mysql_query('UPDATE `estimates` SET `qty_onhand` = `qty_rec` - `qty_rel` WHERE `proj_id` = '.$proj_id.' AND `qty_rec` <> `est_qty` AND `mat_id` = '.mat_id_from_mat_desc($materials).' AND `est_id` = '.$balid.'');
}
$qtytoAdd = $qtytoAdd - $remBalance;
}
EDIT。
尝试通过此
替换您的查询 mysql_query('UPDATE `estimates` SET `qty_onhand` = `qty_rec` - `qty_rel` WHERE `proj_id` = "'.$proj_id.'" AND `qty_rec` <> `est_qty` AND `mat_id` = "'.mat_id_from_mat_desc($materials).'" AND `est_id` = "'.$balid.'"');
答案 2 :(得分:-1)
我遇到了同样的问题。在你的else循环中使用函数会起作用
else
{
$update_function=update_function($ud_id,$subject,$to_user,$from_user);
[//pass your variables instead of $ud_id,$subject,$to_user,$from_user]
}
function update_function($ud_id,$subject,$to_user,$from_user)
{
//place your query over here
$query=mysql_query("UPDATE `email_configuration` SET `subject`='$subject',`to_user`='$to_user',`from_user`='$from_user' WHERE id='$ud_id'");
echo "Record Updated";
}