$add_sumswap = ($sonfig_site["percent_swap_rek"] > 0) ? ( ($sonfig_site["percent_swap_rek"] / 100) * $sumswap) + $sumswap : $sumswap;
- это тернарный оператор в php, разбери, как они работают :)
Данный код, я тебе разделю на составляющие. В общем - это аналог if (...) else, только записан в строку выражения.
(выражение) ? Истина : Ложь;
Что происходит в этом случае?
Если выгрузка из базы по полю percent_swap_rek больше 0, то?
1. Происходит это действие:
( ($sonfig_site["percent_swap_rek"] / 100) * $sumswap) + $sumswap
(получаем свои введенные данные с процентом, установленном в базе)
2. $sumswap - Выражение оставит значение без изменения (обмен 100 на 100, или 200 на 200, то есть без процента), если percent_swap_rek равно 0 или меньше 0. Потому что условие выражения не было пройдено.
Теперь посмотри, что у тебя получается. Какой выход из этой ситуации? Что у тебя в базе хранится в колонке percent_swap_rek?
Зная, как работает тернарный оператор - ты сможешь правильно поделить на 100 каждое из выражений. Либо ты сможешь просто произвести деление по полученному результату, независимо от того, как было выполнено выражение. Добавив просто строку:
$add_sumswap = $add_sumswap/100;