目前,我遇到了一个问题,我想要显示一个变量的数量,该变量通过while循环来收集信息。while循环将使用多个产品,但我只希望显示一个最终结果。以下是我所拥有的:
$amountoff = NULL;
$faceval = 20;
while($row = mysql_fetch_object($que)){
$val = $row->amount;
$price = $row->price;
$quantity = $row->quantity;
//if($faceval>0){
if($faceval >= 0){
if($faceval < 0){
// Do Nothing
} else {
if($quantity > 1){
if($quantity * $price < $faceval){
$amountoff = $price * $quantity;
$faceval = $faceval - $val;
}
} else {
$amountoff = $price;
$faceval = $faceval - $val;
}
}
}
//}
}
echo money_format('%(#10n', $amountoff);我的问题:我的问题是,为什么我的数量总是空白或0.00?通过测试我的$val = 15.00、$price = 7.50和$quantity = 1,我不知道数学是如何打破的,或者是以0.00/空白的速度返回的。有什么想法或建议吗?我不会得到任何PHP错误或MySQL错误;我只是得到的值不超过0.00作为我的返回值。
编辑:,我已经修改了if语句,完全删除了第一个if语句,我仍然得到了0.00的响应。
发布于 2013-05-07 20:26:47
如果($faceval=0){应该是
if($faceval==0){它永远不会进入那个声明
编辑:只是为了清理代码:编辑:添加了一些调试
$amountoff = NULL;
$faceval = 20;
$set = false;
while($row = mysql_fetch_object($que) && $faceval>0){
$val = $row->amount;
$price = $row->price;
$quantity = $row->quantity;
$set = true;
if($quantity > 1 && $quantity * $price < $faceval){
$amountoff = $price * $quantity;
if ($price==0) echo "PRICE IS ZERO<br>";
if ($quantity==0) echo "QTY IS ZERO<br>";
$faceval = $faceval - $val;
}
else {
$amountoff = $price;
if ($price==0) echo "PRICE IS ZERO<br>";
$faceval = $faceval - $val;
}
}
if (!$set) echo "LOOP NEVER ENTERED<br>";
echo money_format('%(#10n', $amountoff);发布于 2013-05-07 20:27:19
您的if语句是嵌套的,这样做是错误的。第二个嵌套的if永远不会被击中:
if($faceval==0){
if($faceval >= 0){
if($faceval < 0){发布于 2013-05-07 20:28:04
你有你的第一个,如果错的if($facevalue = 0) { //do something }。
它永远不会进入if中,因为顶部的facevalue被定义为20,请检查代码。
https://stackoverflow.com/questions/16427930
复制相似问题