PHP скрипт ипотечного калькулятора

Author Автор: Роман Чернышов    Опубликовано: 14 сентября 2011

В рамках работы над очередным крупным порталом посвященного недвижимости, был написан скрипт, вернее даже целый компонент «Профессиональный ипотечный калькулятор«. Сразу оговорюсь, что сама идея не нова, и мы в качестве образца решили использовать модель калькулятора с сайта (информация была скрыта по просьбе трудящихся). Иными словами задача стояла следующая: — «Сделать полную копию, аналог этому калькулятору». Разумеется аналог получился схожим лишь только визуально, для пользователя. Все обслуживающие скрипты, формулы и процессы интеграции калькулятора в уже работающую CMS были уникальны.

Подробно о работе ипотечного калькулятора.

Калькулятор был полностью написан на PHP, часть визуального оформления, я именно HTML и CSS были позаимствованы у так называемого донора (минимализм до нельзя). Так же наш калькулятор, в процессе расчетов обращается к базе mySQL для получения курсов нужных нам валют — USD, EUR (предварительно эти и многие другие курсы валют, заносятся в базу, ежечасно, специально написанным парсером).

Алгоритм работы

Пользователь переходит на страницу калькулятора и в соответствующей форме указывает все исходные значения для расчетов. Но предварительно выбрав тип расчета:

  1. Ежемесячные платежи исходя из известной цены квартиры
  2. Бюджет покупки квартиры исходя из ежемесячных платежей

Далее в зависимости от типа расчета, пользователь указывает «Стоимость квартиры» или «Ежемесячный платеж«. Заполняет поля «Первоначальный взнос«, «Ставка кредита» (в процентах) и «Срок кредитования» (кол-во лет). Так же пользователь может указать предпочитаемую валюту на против каждого поля, это может быть весьма удобным при покупке недвижимости за рубежом. Ипотечный калькулятор сам пересчитает всё, по текущему курсу валют.

Формулы по которым производится расчет

Для расчета и построения графика платежей исходя из известной цены квартиры, с отображением ежемесячного платежа (с отдельными выводом процентов по кредиту и суммы погашения основного долга), используются формула для «Погашение кредита аннуитетными платежами» взятая с сайта banki.ru за что ему отдельное спасибо.

t— количество периодов оплаты;
Кр — сумма кредита;
k — процентная ставка, начисляемая на задолженность за период;
BK — размер платежа за i — й период (i принимает значения от 1 до t);

Вычисляем общую сумму кредита, которую пользователь сможет получить (из сумму вычтены проценты, за пользование кредитом)

BK=Кр * k * (1+k)^t / ((1+k)^t — 1)

Для расчета и постарения графика исходя из ежемесячных платежей, используется формула:

Кр = BK * ((1+k)^t — 1) / (1+k)^t / k

Построение графиков

Все графики строятся с использованием библиотеки Google jsAPI из Google Chart Tools. Раньше мне не приходилось работать с этим замечательным инструментом, но тем не менее его удалось в течении получаса интегрировать в калькулятор и начать его использование. Стоит заметить, что с помощью этой библиотеки можно строить графики любых типов (например Pie Chart, Line Chart, Column Chart, Area Chart, Tree Map, Controls and Dashboards и прочие).

Приведу несколько скриншотов получившихся графиков:

Контроль ввода.

В калькуляторе реализованы методы контроля ввода пользователем данных . Для предотвращения возможных ошибок, а также для улучшения визуального отображения вводимых данных, введенная стоимость квартиры 10000000 преобразуется в 10 000 000. Это так же относится к другим числовым полям. Отвечающий за это скрипт, написанный на JavaScript был заимствован у донора. (Позже я напишу пост о принципе его работы и выложу его код).

Прочие функции.

После произведения расчетов, для удобства пользователя также предусмотрена возможность вывода страницы для последующей её печати на принтере. С помощью CSS отсекаются все ненужные блоки и меню сайта.

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

1 Comment to “PHP скрипт ипотечного калькулятора”

  • Роман Чернышов 30.03.2014 в 3:34 дп

    Появилась AJAX версия скрипта, Работает без перезагрузки страницы при проведении расчетов. Легкая установка.
    Пример: http://rche.ru/calc/_ajax/index.html

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Оформить предзаказ
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка