Помогите поменять формулы и правила в php

Просто вознаграждение может быть в процентах от суммы, а может быть фиксированной, зависит от магазина. В бд в таблице cashbackengine_retailers в столбце cashback это прописывается (отображается с % или без), вот и спрашиваю как сделать, что если % то умножить, а если просто число то amount=этому числу. Вот часть, которую надо изменить, а как не знаю
$sql_ret['program_id']=strval($a->advcampaign_id);
$x=db_read('cashbackengine_retailers',$sql_ret);
$b=str_replace('%','',$x[0]['cashback']);

$sql['transaction_commision']=$kurs*$sql['transaction_commision'];
$sql['transaction_amount']=$kurs*$sql['transaction_amount'];

$sql['amount']=round($b*$sql['transaction_amount']/100,2);
if($sql['amount']>$sql['transaction_commision']){$sql['amount']=round($sql['transaction_commision']*95/100,2);}
$sql['amount']=floor($sql['amount']);

PHP:
$sql_ret['program_id']=strval($a->advcampaign_id);
$x=db_read('cashbackengine_retailers',$sql_ret);
$b=str_replace('%','',$x[0]['cashback']);

$sql['transaction_commision']=$kurs*$sql['transaction_commision'];
$sql['transaction_amount']=$kurs*$sql['transaction_amount'];

if (!strpos($x[0]['cashback'],'%')) {
    # Выполняем действие с числом по задаче 
    $sql['amount']=$x[0]['cashback'];
} else {
    # Выполняем действие с процентами по задаче
    $sql['amount']=round($b*$sql['transaction_amount']/100,2);
}

if($sql['amount']>$sql['transaction_commision']){$sql['amount']=round($sql['transaction_commision']*95/100,2);}
$sql['amount']=floor($sql['amount']);
 
Последнее редактирование модератором:
sindrom1974, в обоих случаях показывает эту сумму $sql['amount']=$x[0]['cashback']; , проценты не хочет считать.
 
Последнее редактирование:
Благодарю, все заработало как надо.
 
Назад
Сверху