[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: пишу калькулятор проблемы с if
phototer
есть расчет:
for($n=1; $n<=$period; $n++){
$payRate = $scredit*$rate/12/100;
$scredit = $scredit-($s-$payRate);
$payCredit = $s-$payRate;
if($typeCommission =='allcredit'){
$payCommission=($c*($commission/100));}
if($typeCommission =='restcredit'){
$payCommission=($scredit*($commission/100));}
$monthPay = $s+$payCommission;
$totalPayrate=$totalPayrate+$payRate;
$totalPay=$totalPay+$s+$payCommission;
$totalPaycommission=$totalPaycommission+$payCommission;


не считает $payCommission
если делать без if только с одним вариантом то все в порядке.
Подскажите где ошибка
Игорь_Vasinsky
if(..){
...
}
elseif(..){
...
}
elseif(..){
...
}
else(..){
...
}

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Winston
Замени второй "if" на "elseif"
phototer
если пишу

if($typeCommission =='allcredit'){
$payCommission=($c*($commission/100));}
else {$payCommission=($scredit*($commission/100));}


то считает только по второму варианту

если через elseif
if($typeCommission =='allcredit'){
$payCommission=($c*($commission/100));}
elseif($typeCommission =='restcredit'){
$payCommission=($scredit*($commission/100));}

тоже не считает
Winston
Какое значение у тебя хранится в typeCommission?
Игорь_Vasinsky
Ты вообще понимаешь как условия ветвления работаю?

если(условие){
выполнить
}
а если(условие){
выполнить
}
тогда{
выполнить
}

чё голову морочишь. проверяй свою логику.

при написании алгоритма - можно мониторить процесс выполнения

есть echo для этого или var_dump

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
phototer
typeCommission идет выбор из select там два значения value='restcredit', value='allcredit'

логика: если ($typeCommission =='allcredit') то присвоить $payCommission=($c*($commission/100))
иначе присвоить $payCommission=($scredit*($commission/100))

вывод происходит:
echo "<td>".number_format($payCommission, 2, '.',' ')."</td>";


прошу пояснить как еще логику проверить?
walerus
phototer
if( $typeCommission =='allcredit' )
{
echo "typeCommission => |$typeCommission|<br>";
$payCommission=($c*($commission/100));
}
else
{
echo "typeCommission => |$typeCommission|<br>";
$payCommission=($scredit*($commission/100));
}

echo "payCommission => |$payCommission|";


Запусти этот код, что выводится на экране, скопируй сюда...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.