[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобраться с кодом ОЧЕНЬ НУЖНО
expert_ua
День добрый. Суть вопроса такова. Есть код php кредитного калькулятора. Он рабочий но вот беда изначально он был прописан на рассчет 24 мес. я добавил остальные до 84 мес. Но когда нажимаю Рассчитать он не показывает месяц в табличке. А отображает только до 24 мес и все. Дальше только суммы и год, а нужно что бы отображал на 84 месяца плюс не показывает Кол-во дней и Процент. huh.gif

на фото все видно вот sad.gif( user posted image


Буду благодарен за помощь новичку.

Вот сам файл: http://us.ua/1076244/
Игорь_Vasinsky
Цитата
Вот сам файл: http://us.ua/1076244/

оно мне надо?

выложите код здесь

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
expert_ua
Цитата (Игорь_Vasinsky @ 28.03.2013 - 15:11)
Цитата
Вот сам файл: http://us.ua/1076244/

оно мне надо?

выложите код здесь

<?php
/*******************************************************************************
Кредитный калькулятор
fil.ya1.ru
*******************************************************************************/


error_reporting(0);

$allow_month_count = array(6, 9, 12, 24, 36, 48, 60, 72, 84);
$allow_month = array(
1=> 'Январь',
2=> 'Февраль',
3=> 'Март',
4=> 'Апрель',
5=> 'Май',
6=> 'Июнь',
7=> 'Июль',
8=> 'Август',
9=> 'Сентябрь',
10=> 'Октябрь',
11=> 'Ноябрь',
12=> 'Декабрь'
);

$allow_calc = false;
$sum_kredita = '';
$procent = 15;
$month_count = '';
$num_first_month = (int)date('n');;

if (isset($_REQUEST['sum_kredita']) and isset($_REQUEST['procent']) and
isset($_REQUEST['month_count']) and isset($_REQUEST['month_first']) ) {
$sum_kredita = (int)$_REQUEST['sum_kredita'];
if ($sum_kredita < 100000 or $sum_kredita > 100000000) {
$sum_kredita = 100000;
}
$procent = (float)$_REQUEST['procent'];
if ($procent <= 0 or $procent > 100) {
$procent = 15;
}
$month_count = (int)$_REQUEST['month_count'];
$num_first_month = (int)$_REQUEST['month_first'];
$allow_calc = true;
} else {
$allow_calc = false;
}

$srok_opt = '';
foreach ($allow_month_count as $m) {
if ($month_count == $m) {
$srok_opt .= "<option value=\"$m\" selected>$m месяцев</option>";
} else {
$srok_opt .= "<option value=\"$m\">$m месяцев</option>";
}
}


$m_opt = '';
foreach ($allow_month as $k => $m) {
if ($num_first_month == $k) {
$m_opt .= "<option value=\"$k\" selected>$m</option>";
} else {
$m_opt .= "<option value=\"$k\">$m</option>";
}
}



$output = '';

$output .= '<form name="credit" action="" method="post">
Сумма кредита, грн:<br>
<input name="sum_kredita" type="text" value="'
. $sum_kredita .'"> (Введите сумму в гривнах.)<br>
Процентная ставка, %:<br>
<input name="procent" type="text" value="'
. $procent .'"> (Введите вашу процентную ставку.)<br>
Срок кредита:<br>
<select size="1" name="month_count">
'
. $srok_opt .'
</select><br>
Месяц получения кредита:<br>
<select size="1" name="month_first">
'
. $m_opt .'
</select><br><br>
<input type="submit" value="Рассчитать">
</form>'
;


if ($allow_calc) {
$month = array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12');
//$month = array('янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек');

//текущий год

$year = (int)date('Y', time());
//выплата в месяц без процентов
$pogash_osn_dolga = round($sum_kredita / $month_count);
//выплата за последний месяц
$last_month = $sum_kredita - $pogash_osn_dolga * ($month_count - 1);

//выплаты в месяц
$per_month = array();
$sum_kred_temp = $sum_kredita;
for ($i = 0; $i < $month_count - 1; $i++) {
$per_month[] = $pogash_osn_dolga;
//остаток по месяцам
$osn_dolg[] = $sum_kredita - $pogash_osn_dolga * $i;
}

//выплаты в месяц
$per_month[] = $last_month;
//остаток по месяцам
$osn_dolg[] = $last_month;

//print_r($per_month);
//print_r($osn_dolg);



$first = array_slice($month, 0, $num_first_month - 1);
$last = array_slice($month, $num_first_month - 1);

$first_out = array_slice($month, 0, $num_first_month);
$last_out = array_slice($month, $num_first_month);

$month_order = array_merge($last, $first);
$month_order_out = array_merge($last_out, $first_out);
//порядок по 84 месяцам
$month_order = array_merge($month_order, $month_order);
$month_order_out = array_merge($month_order_out, $month_order_out);

$year_out = $year;

//порядок выплаты кредита по месяцам и годам
$month_kred = array();
$month_kred_out = array();
for ($i = 0; $i <= $month_count - 1; $i++) {
$month_kred[] = array($month_order[$i], $year);
$month_kred_out[] = array($month_order_out[$i], $year_out);
//увеличим год, если декабрь
if ($month_order[$i] == 12) {
$year++;
}
if ($month_order_out[$i] == 12) {
$year_out++;
}
}


//print_r($month_kred);
//print_r($month_kred_out);
//die;

//проверка года на високосность

function is_leap($year = NULL) {
return checkdate(2, 29, ($year == NULL)? date('Y') : $year);
}

//проценты по месяцам
$proc_pogash = array();
$vsego = array();
for ($i = 0; $i < $month_count; $i++) {
(is_leap($month_kred[$i][1])) ? $days_in_year = 366 : $days_in_year = 365;
//количество дней в месяце
$num = cal_days_in_month(CAL_GREGORIAN, $month_kred[$i][0], $month_kred[$i][1]);
$day_month[] = array($num, implode($month_kred_out[$i], '.'));
$proc_pogash_i = Round(($osn_dolg[$i] * ($procent / 100)) / $days_in_year * $num);
$proc_pogash[] = $proc_pogash_i;
$vsego[] = $per_month[$i] + $proc_pogash_i;
}


/*
print_r($proc_pogash);
echo array_sum($proc_pogash);
print_r($vsego);
echo array_sum($vsego);

print_r($day_month);
*/

$output .= '<br><br>';
$output .= sprintf('Сумма кредита: %s грн; Процентная ставка: %15.0f; Срок: %s мес. ', number_format($sum_kredita, 0, '.', ' '), $procent, $month_count) ;
$output .= '<br><br>';

$out = '<table class="credit">';
$out .= '<tr><th>Месяц</th><th>Кол-во дней</th><th>Остаток основного долга, грн</th><th>Погашение долга, грн</th><th>Процент, грн</th><th>Всего, грн</th></tr>';
for ($i = 0; $i < $month_count; $i++) {
$out .= sprintf('<tr><td>%s</td><td>%s</td><td>%s</td><td> ;%s</td><td>%s</td><td>%s</td></tr>',
$day_month[$i][1], $day_month[$i][0], $osn_dolg[$i], $per_month[$i], $proc_pogash[$i], $vsego[$i]);
}
$out .= sprintf('<tr><td colspan="3"><b>Итого:</b></td><td><b>%s</b></td&a mp;g t;<td><b>%s</b></td><td><b>%s</b></td></tr>' ;,
number_format(array_sum($per_month), 0, '.', ' '), number_format(array_sum($proc_pogash), 0, '.', ' '), number_format(array_sum($vsego), 0, '.', ' '));
$out .= '</table>';
$output .= $out;
}

$tpl = '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Название странички</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<style type="text/css">
a:active,a:visited,a:link {
color: #4b719e;
text-decoration:none;
}
a:hover {
color: #4b719e;
text-decoration: underline;
}
.title {
color: #333333;
font-size: 26px;
font-family: georgia;
font-weight: normal;
padding-left: 6px;
}
.text {
font-family:Tahoma;
font-weight:normal;
font-size:12px;
color:#365069;
}
hr {
width: 100%;
height: 1px;
border: 0;
background: #B9D2E2;
color: #B9D2E2
}
table.credit {
width:100%;
border:1px solid #c0c0c0;
background-color:#ffffff;
}
table.credit tr {
background-color:#f8f8f8;
}
table.credit tr:hover {
background-color:#ffffff;
}
table.credit td{
padding:1px;
text-align:right;
}
table.credit th{
border:0px;
color:#333333;
background-color:#D5E7F3;
padding:2px;
text-align:center;
font-size:12px;
}

</style>
</head>
<body>
<table width="750" align="center" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" height="30" align="center" valign="middle" style="border-left: 1px solid #D5E7F3; border-right: 1px solid #D5E7F3; border-top: 1px solid #D5E7F3;" bgcolor="#D5E7F3">
<span class="title">Название странички</span>
</td>
</tr>
</table>
<table width="750" align="center" border="0" cellspacing="1" cellpadding="0" bgcolor="#D5E7F3" class="text">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#f5f8fa"><tr>
<td width="100%" style="padding-top:25px; padding-right:20px; padding-left:20px;" valign="top"><div class="text">

'
. $output . '

<br><br><br><br>

<hr>
<a href="http://Ваш сайт">Вернуться на главную страницу</a>
</div><br><br><br></td></tr></table>
<table width="100%" cellspacing="0" cellpadding="3" border="0" bgcolor="#F4FBFF" class="text" style="border-top:1px solid #B9D2E2">
<tr>
<td width="50%" nowrap>Название компаниии</td><td width="100%"> </td>
<td width="50%" nowrap>Тел</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
'
;


echo $tpl;



?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.