Преобразование формулы в запрос SQL

Я строю систему, где он будет выводить общий текущий баланс для пользователя.

У меня есть три таблицы MySQL, первый Members таблица, где сеанс пользовательских данных получает Member_ID второй Regular_Savings и третий (Out Out Table) Current_Balance

У меня есть математическая формула, как отработать интерес (см. Ниже)

введите описание изображения здесь

мне бы хотелось Total_Balance в Current_Balance Таблица использования выходного текущего баланса, я пытался использовать запрос ниже, но думаю, что я сделал несколько ошибок.

Код модели запроса и кодового указателя

function get_bank()
{
$this->db->SELECT(`Principle` * (POWER((1 + (`Annual_Rate_Interest` DIV `Compound`)),(`Valid_For` * `Compound`)))) +((`monthly_deposit` * (POWER((1 + (`Annual_Rate_Interest` DIV `Compound`)),(`Valid_for` * `Compound`)) -1)) DIV(`Annual_Rate_Interest` DIV `Compound`)) as fav, $this->session->userdata("Member_ID"));
$query = $this->db->get('Regular_Savings');
return $query->result();
}

формула
введите описание изображения здесь

Вся помощь очень ценится,
Благодарю вас.

****************ОБНОВИТЬ********************

Как предлагается в комментарии, я мог бы использовать PHP, я думаю, что код ниже близок, но не правильно, есть идеи?

Возможное решение PHP

<?php
function interest($Principle,$Compound,$Annual_Rate_Intrest,$Valid_For){
$Accumulated=0;
if ($Compound > 1){
$Accumulated=interest($Principle,$Compound-1,$Annual_Rate_Intrest,$Valid_For);
}
$Accumulated += $Principle;
$Accumulated = $Accumulated * pow(1 + $Annual_Rate_Intrest/(100 * $Valid_For),$Valid_For);
return $Accumulated;
}
?>

0

Решение

Используя сокращения, указанные в вашей таблице, расчет должен быть

// p : principal
// i : annual rate interest
// c: compound
// n : valid for
// R : monthly deposit

// calculate the terms that appear twice
$x = $i / $c;
$y = pow ( (1 + $x), ($n * $c) );

$vf = $p * $y + ( ($R * $y - 1 ) / $x );
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]