Скрипт ипотечного калькулятора (PHP, JS)
←
Скрипты калькуляторов
Пример работы ипотечного калькулятора можно посмотреть здесь
здесь
Скачать архив
Файл hypothec.php
<h2>Ипотечный калькулятор</h2> <form id="form" method="post"> <em>Стоимость недвижимости</em> <br> <input type="text" name="sum" value=""> <br> <em>Первоначальный взнос</em> <br> <input type="text" name="perv" value=""> <br> <em>Срок ипотечного кредита, лет</em> <br> <input type="text" name="srok" value=""> <br> <em>Годовая ставка, %</em> <br> <input type="text" name="proc" value=""> <br> <em>Вид платежа</em> <br> <select name="vid"> <option value="1">аннуитетный</option> <option value="2">дифференцированный</option> </select> </form> <div id="calc" style="cursor:pointer; border:1px solid #333" >Рассчитать</div> <div id="result"></div> <br> <a rel="nofollow" target="_blank" href="https://your-online.ru/financial-calculators/hypothec">Источник</a> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script> $("#calc").click(function(){ var msg = $('#form').serialize(); $.ajax({ type: 'POST', url: 'ajax_hypothec.php', data: msg, success: function(data) { $('#result').html(data); } }); }); </script>
Файл ajax_hypothec.php
<? function okr($a) { return number_format(abs($a), 2, ',', ' '); } function do_c($a) { $a = preg_replace('/[^0-9,\.]/u', '', $a); $a = str_replace(',','.',$a); $a = floatval($a); return $a; } function m_an ($sum, $proc, $srok) { $all_summa_platega = 0; $all_osn_dolg = 0; $all_nach_procent = 0; $p = $proc/100/12; $koef = $p * pow((1+$p),$srok) / (pow((1+$p), $srok) - 1); ob_start(); echo '<h2>График ежемесячных платежей по ипотеке</h2>'; echo '<table border="1">'; echo '<tr>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Дата'; echo '</th>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Сумма платежа'; echo '</th>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Основной долг'; echo '</th>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Начисленные проценты'; echo '</th>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Остаток задолженности'; echo '</th>'; echo '</tr>'; for($i=1; $i<=$srok; $i++) { if(!$ostatok) $ostatok = $sum; $summa_platega = $koef*$sum; $nach_procent = $ostatok*$proc/12/100; $osn_dolg = $summa_platega - $nach_procent; $ostatok = $ostatok - $osn_dolg; $all_summa_platega = $all_summa_platega + $summa_platega; $all_osn_dolg = $all_osn_dolg + $osn_dolg; $all_nach_procent = $all_nach_procent + $nach_procent; echo '<tr>'; echo '<td>'; echo $i.'-й месяц'; echo '</td>'; echo '<td>'; echo okr($summa_platega); echo '</td>'; echo '<td>'; echo okr($osn_dolg); echo '</td>'; echo '<td>'; echo okr($nach_procent); echo '</td>'; echo '<td>'; echo okr($ostatok); echo '</td>'; echo '</tr>'; } echo '<tr>'; echo '<td>'; echo '<b>Всего:</b>'; echo '</td>'; echo '<td>'; echo '<b>'.okr($all_summa_platega).'</b>'; echo '</td>'; echo '<td>'; echo '<b>'.okr($all_osn_dolg).'</b>'; echo '</td>'; echo '<td>'; echo '<b>'.okr($all_nach_procent).'</b>'; echo '</td>'; echo '<td>'; echo '</td>'; echo '</tr>'; echo '</table>'; $buf = ob_get_contents(); ob_end_clean(); echo '<b>Сумма кредита:</b> '.okr($sum).'<br>'; echo '<b>Общая сумма выплат:</b> '.okr($all_summa_platega).'<br>'; echo '<b>Переплата по процентам за кредит:</b> '.okr($all_nach_procent).'<br>'; echo '<b>Сумма ежемесячного платежа:</b> '.okr($all_summa_platega/$srok).'<br>'; echo $buf; } function m_diff ($sum, $proc, $srok) { $all_summa_platega = 0; $all_osn_dolg = 0; $all_nach_procent = 0; $osn_dolg = $sum/$srok; $arr_sum = array(); ob_start(); echo '<h2>График ежемесячных платежей по ипотеке</h2>'; echo '<table border="1">'; echo '<tr>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Дата'; echo '</th>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Сумма платежа'; echo '</th>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Основной долг'; echo '</th>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Начисленные проценты'; echo '</th>'; echo '<th>'; echo '<div class="div100"></div>'; echo 'Остаток задолженности'; echo '</th>'; echo '</tr>'; for($i=1; $i<=$srok; $i++) { if(!$ostatok) $ostatok = $sum; $nach_procent = $ostatok*$proc/12/100; $summa_platega = $nach_procent+$osn_dolg; $ostatok = $sum - $osn_dolg*$i; $all_summa_platega = $all_summa_platega + $summa_platega; $all_osn_dolg = $all_osn_dolg + $osn_dolg; $all_nach_procent = $all_nach_procent + $nach_procent; $arr_sum[] = $summa_platega; echo '<tr>'; echo '<td>'; echo $i.'-й месяц'; echo '</td>'; echo '<td>'; echo okr($summa_platega); echo '</td>'; echo '<td>'; echo okr($osn_dolg); echo '</td>'; echo '<td>'; echo okr($nach_procent); echo '</td>'; echo '<td>'; echo okr($ostatok); echo '</td>'; echo '</tr>'; } echo '<tr>'; echo '<td>'; echo '<b>Всего:</b>'; echo '</td>'; echo '<td>'; echo '<b>'.okr($all_summa_platega).'</b>'; echo '</td>'; echo '<td>'; echo '<b>'.okr($all_osn_dolg).'</b>'; echo '</td>'; echo '<td>'; echo '<b>'.okr($all_nach_procent).'</b>'; echo '</td>'; echo '<td>'; echo '</td>'; echo '</tr>'; echo '</table>'; $buf = ob_get_contents(); ob_end_clean(); echo '<b>Сумма кредита:</b> '.okr($sum).'<br>'; echo '<b>Общая сумма выплат:</b> '.okr($all_summa_platega).'<br>'; echo '<b>Переплата по процентам за кредит:</b> '.okr($all_nach_procent).'<br>'; echo '<b>Сумма ежемесячного платежа:</b> '.okr(max($arr_sum)).' ... '.okr(min($arr_sum)).'<br>'; echo $buf; } $sum = do_c($_POST['sum']); $perv = do_c($_POST['perv']); $sum = $sum-$perv; $proc = do_c($_POST['proc']); $srok = abs(12*intval($_POST['srok'])); $vid = intval($_POST['vid']); if(!$sum) $err .= 'Не указана сумма<br>'; if(!$srok) $err .= 'Не указан срок<br>'; if(!$proc) $err .= 'Не указана процентная ставка<br>'; if($sum > 100000000) $err .= 'Слишком большая сумма<br>'; if($srok > 600) $err .= 'Слишком большой срок<br>'; if($proc > 1000) $err .= 'Слишком большая процентная ставка<br>'; if($perv > $sum) $err .= 'Первоначальный взнос не может быть больше стоимости недвижимости<br>'; if($err) echo $err; else { if($vid==1) { m_an ($sum, $proc, $srok); } elseif($vid==2) { m_diff ($sum, $proc, $srok); } } ?>
Поделитесь информацией с друзьями
Скачать перечень калькуляторов
Другие скрипты
Моё
Моё
×
Добавить текущую страницу в "Моё"
Удалить выбранное