Php 有些行不是';t在foreach循环中计数

Php 有些行不是';t在foreach循环中计数,php,Php,我从数据库中获取9xx项的价格。 我在“显示项目”页面上添加了此项。使用Foreach$rows=$row。vprice是我的销售价格,dprice是我的经销商价格 $commisionrate = 30; $commisionfee = 100; $fee = $row['dprice'] + $commisionfee;//+100 $x = $row['dprice']; $y = $x * $commisionrate / 100; $z = $x + $y; $rate = $z;

我从数据库中获取9xx项的价格。 我在“显示项目”页面上添加了此项。使用Foreach$rows=$row。vprice是我的销售价格,dprice是我的经销商价格

$commisionrate = 30;
$commisionfee  = 100;
$fee  = $row['dprice'] + $commisionfee;//+100
$x = $row['dprice'];
$y = $x * $commisionrate / 100;
$z = $x + $y;
$rate = $z;//(100*30%)+100
if (($rate > $row['vprice']) && ($fee < $row['vprice'])){
    echo $fee;
}elseif (($fee > $row['vprice']) && ($rate < $row['vprice'])){
    echo $rate;
}elseif ($row['dprice']=$row['vprice']){
    echo $row['dprice'];
}
$commissionrate=30;
$commissionfee=100;
$fee=$row['dprice']+$commissionfee//+100
$x=$row['dprice'];
$y=$x*$佣金率/100;
$z=$x+$y;
$rate=$z//(100*30%)+100
如果(($rate>$row['vprice'])和($fee<$row['vprice'])){
echo$费用;
}其他($fee>$row['vprice'])和($rate<$row['vprice'])){
回音率;
}elseif($row['dprice']=$row['vprice']){
echo$row['dprice'];
}
当我重新检查所有项目时,我发现,
$row['dprice']
中有几个项目没有计算在内,并且仍然以旧价格显示。错误的例子:我发现vprice是188,80 dprice在计算后应该是104,但没有变化,仍然保持在80。

$commissionrate=30;
$commisionrate = 30;
$commisionfee  = 100;
$fee  = $row['dprice'] + $commisionfee;//+100
$x = $row['dprice'];
$y = $x * $commisionrate / 100;
$rate = $x + $y;

// You don't need to put nested brackets, it very simple condition    
if ($rate > $row['vprice'] && $fee < $row['vprice']){
    echo "fee: " . $fee; //add some hint words, so you know which condition fires

// You don't need to put nested brackets, it very simple condition
} elseif ($fee > $row['vprice'] && $rate < $row['vprice']) {
    echo "rate: " . echo $rate;

// USE double `==`, because when single `=` used, the condition always returns true and you're confused by your result
} elseif ($row['dprice'] == $row['vprice']) { 
    echo "row[\'dprice\']: " . $row['dprice'];

// add last else
} else {
   // this is helpful for debugging of your possible output, regardless you are awaiting some output here
}
$commissionfee=100; $fee=$row['dprice']+$commissionfee//+100 $x=$row['dprice']; $y=$x*$佣金率/100; $rate=$x+$y; //你不需要把嵌套括号,这是非常简单的条件 如果($rate>$row['vprice']&&$fee<$row['vprice']){ echo“fee:.$fee;//添加一些提示词,这样您就知道触发哪个条件了 //你不需要把嵌套括号,这是非常简单的条件 }elseif($fee>$row['vprice']和&$rate<$row['vprice']){ echo“速率:”.echo$速率; //使用double`=`,因为当使用single`=`时,条件总是返回true,并且您对结果感到困惑 }elseif($row['dprice']==$row['vprice']){ 回显“行[\'dprice\']:”$row['dprice']; //加上最后一个 }否则{ //这有助于调试可能的输出,无论您在此处等待某些输出 }
显示一些输出…可能还想添加从数据库中提取这些值的查询,听起来很傻,但是让我们确保您确实提取了所有您认为要提取的行
$row['dprice']=$row['vprice']
$row['dprice']=$row['vprice']
可能重复的@RamansathiyaNarayanan我得到了所有的输出,然后我计算它们。嗨。我不会对结果感到困惑。我只忘了再添加一个条件,即如果费率和费用低于vprice,则将选择使用费率价格。