Я строю систему, где он будет выводить общий текущий баланс для пользователя.
У меня есть три таблицы 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;
}
?>
Используя сокращения, указанные в вашей таблице, расчет должен быть
// 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 );
Других решений пока нет …