Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何根据每月或每周循环贷款摊销的日期范围_Php_Mysql_Ajax - Fatal编程技术网

Php 如何根据每月或每周循环贷款摊销的日期范围

Php 如何根据每月或每周循环贷款摊销的日期范围,php,mysql,ajax,Php,Mysql,Ajax,我正在制定贷款摊销计划,需要日期循环的帮助。我已经能够得到付款的时间表,但将需要帮助的日期包括在内。请帮我把日期循环一下。 谢谢 echo'; echo“#支付利息本金余额”; $start_date='2014-12-14'; $end_date='2015-03-12'; $count=0; 做{ $count++; //计算未偿余额的利息 $利息=$余额*$利率/100; //哪部分付款适用于本金? $本金=$付款-$利息; //注意收支平衡 如果($余额

我正在制定贷款摊销计划,需要日期循环的帮助。我已经能够得到付款的时间表,但将需要帮助的日期包括在内。请帮我把日期循环一下。 谢谢

echo';
echo“#支付利息本金余额”;
$start_date='2014-12-14';
$end_date='2015-03-12';
$count=0;
做{
$count++;
//计算未偿余额的利息
$利息=$余额*$利率/100;
//哪部分付款适用于本金?
$本金=$付款-$利息;
//注意收支平衡
如果($余额<$付款){
$本金=$余额;
$付款=$利息+$本金;
}//如果
//通过支付本金减少余额
$余额=$余额-$本金;
//注意留下微小平衡的舍入误差
如果($余额<0){
$principal=$principal+$balance;
$利息=$利息-$余额;
美元余额=0;
}//如果
回声“;
回显“$count”;
回音“.number_格式($payment,2,”,“,”)”);
回音“.number_格式($interest,2,”,“,”,”)”;
echo“.number_格式($principal,2,”,“,”)”;
回音“.number_格式($balance,2,”,“,”)”);
回声“;
@$totPayment=$totPayment+$payment;
@$totInterest=$totInterest+$interest;
@$totPrincipal=$totPrincipal+$principal;
如果($付款<$利息){
回声“;
echo“付款<利息金额-利率过高,或付款过低”

; 出口 }//如果 }而($余额>0); 回声“; 回声“; 回音“.number_格式($totPayment,2,”,“,”)”; echo“.number_格式($totInterest,2,”,“,”)”; echo“.number_格式($totPrincipal,2,”,“,”)”; 回声“; 回声“; 回声“;
谢谢

你也可以使用

你也可以使用

你也可以使用

你也可以使用


请澄清您希望如何循环日期。我看不到只使用声明的日期变量。另外,您标记了MySQL,但我在代码中没有看到查询。
$interest
$payment
$balance
的值是否来自您的数据库?每个都有具体的日期吗?然后,所有计算字段和if/Then逻辑都可以写入SQL查询,并迭代到PHP数组中,该数组输出到表行和单元格中。用户需要从表单中输入$interest、$payment。不要用MySQL循环,如果你能帮我解决MySQL循环的问题。谢谢,请澄清您希望日期循环的方式。我看不到只使用声明的日期变量。另外,您标记了MySQL,但我在代码中没有看到查询。
$interest
$payment
$balance
的值是否来自您的数据库?每个都有具体的日期吗?然后,所有计算字段和if/Then逻辑都可以写入SQL查询,并迭代到PHP数组中,该数组输出到表行和单元格中。用户需要从表单中输入$interest、$payment。不要用MySQL循环,如果你能帮我解决MySQL循环的问题。谢谢,请澄清您希望日期循环的方式。我看不到只使用声明的日期变量。另外,您标记了MySQL,但我在代码中没有看到查询。
$interest
$payment
$balance
的值是否来自您的数据库?每个都有具体的日期吗?然后,所有计算字段和if/Then逻辑都可以写入SQL查询,并迭代到PHP数组中,该数组输出到表行和单元格中。用户需要从表单中输入$interest、$payment。不要用MySQL循环,如果你能帮我解决MySQL循环的问题。谢谢,请澄清您希望日期循环的方式。我看不到只使用声明的日期变量。另外,您标记了MySQL,但我在代码中没有看到查询。
$interest
$payment
$balance
的值是否来自您的数据库?每个都有具体的日期吗?然后,所有计算字段和if/Then逻辑都可以写入SQL查询,并迭代到PHP数组中,该数组输出到表行和单元格中。用户需要从表单中输入$interest、$payment。不要用MySQL循环,如果你能帮我解决MySQL循环的问题。谢谢,那么循环呢?有了它,你可以循环数周或数月。为/while添加一个
是你的工作。请如何循环?有了这个,你可以循环数周和数月。为/while添加一个
是你的工作。请如何循环?有了这个,你可以循环数周和数月。为/while添加一个
是你的工作。请如何循环?有了这个,你可以循环数周和数月。为/while添加
是您的工作。
echo '<table border="1">';
echo '<tr><th>#</th><th>PAYMENT</th><th>INTEREST</th><th>PRINCIPAL</th><th>BALANCE</th></tr>';
$start_date = '2014-12-14';
$end_date = '2015-03-12';
$count = 0;
do {
   $count++;

   // calculate interest on outstanding balance
   $interest = $balance * $rate/100;

   // what portion of payment applies to principal?
   $principal = $payment - $interest;

   // watch out for balance < payment
   if ($balance < $payment) {
      $principal = $balance;
      $payment   = $interest + $principal;
   } // if

   // reduce balance by principal paid
   $balance = $balance - $principal;

   // watch for rounding error that leaves a tiny balance
   if ($balance < 0) {
      $principal = $principal + $balance;
      $interest  = $interest - $balance;
      $balance   = 0;
   } // if

   echo "<tr>";
   echo "<td>$count</td>";
   echo "<td>" .number_format($payment,   2, ".", ",") ."</td>";
   echo "<td>" .number_format($interest,  2, ".", ",") ."</td>";
   echo "<td>" .number_format($principal, 2, ".", ",") ."</td>";
   echo "<td>" .number_format($balance,   2, ".", ",") ."</td>";
   echo "</tr>";

   @$totPayment   = $totPayment + $payment;
   @$totInterest  = $totInterest + $interest;
   @$totPrincipal = $totPrincipal + $principal;

   if ($payment < $interest) {
      echo "</table>";
      echo "<p>Payment < Interest amount - rate is too high, or payment is too low</p>";
      exit;
   } // if

} while ($balance > 0);

echo "<tr>";
echo "<td>&nbsp;</td>";
echo "<td><b>" .number_format($totPayment,   2, ".", ",") ."</b></td>";
echo "<td><b>" .number_format($totInterest,  2, ".", ",") ."</b></td>";
echo "<td><b>" .number_format($totPrincipal, 2, ".", ",") ."</b></td>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "</table>";
$timestampInOneWeek = strtotime('+1 week');
$timestampOneMonthAfter01january = strtotime('+1 month', 1419984000);
$month_later = new DateTime('2000-01-01');
$month_later->add(new DateInterval('P1M'));