Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    97

    Aiuto con tabella piano di ammortamento

    Ciao a tutti!

    Sto realizzando un sito di prestiti online ed il cliente mi ha chiesto l'inserimento di una pagina in cui l'utente possa farsi un preventivo indicativo.

    Ho trovato questo script (l'ho installato e funziona, vi è anche una pagina mutuo.html che non sto a postarvi visto che non è interessata alla modifica che voglio fare):

    codice:
    <html> <head> </head> <body> <?php //$M = capitale //$t = tasso d'interesse //$N = numero periodi  $M = $_POST["M"]; $N = $_POST["durata"]*$_POST["cadenza"]; $t = $_POST["tasso"]/(100*$_POST["cadenza"]);  $T = $t + 1;  $n = $N - 1;   $a = array(); $i = 0;  while ($i <= $n) { $pow = pow($T,$i); array_push($a,$pow); $i = $i + 1; }  $somma = array_sum($a); $pot = pow($T,$N); $rata = $M*$pot/$somma; $tot = $rata*$N; $interessi = $tot - $M;  //formattazione cifre $M = number_format($M,2,',','.'); $rata = number_format($rata,2,',','.'); $tot = number_format($tot,2,',','.'); $interessi = number_format($interessi,2,',','.'); //fine formattazione  if($_POST["cadenza"]==12) $freq="mensile"; if($_POST["cadenza"]==6) $freq="bimestrale"; if($_POST["cadenza"]==4) $freq="trimestrale"; if($_POST["cadenza"]==2) $freq="semestrale";  echo "
    Capitale finanziato = ".$M ." €
    "; echo "Durata del mutuo = ".$_POST["durata"] ." anni
    "; echo "Frequenza della rata = ". $freq ."
    "; echo "tasso d'interesse = ".$_POST["tasso"] ."% annuo
    ";  echo "
    importo della rata = ".$rata ." €
    ";  echo "numero di rate = ".$N ." rate
    "; echo "totale rate = ".$tot ." €
    "; echo "interessi = ".$interessi." €"; ?> ˙ </body> </html>

    Fino a qui tutto ok, solo che adesso vorrei inserire in una tabella il piano di ammortamento (ho trovato un'ottima spiegazione su questo sito: http://www.telemutuo.it/culturamutui...-francese.html ma, complice anche i 38 di febbre ed avvicinandomi da poco al php, non riesco a capire come organizzare le nuove variabili da richiamare poi nella tabella... per favore qualcuno mi può aiutare? non chiedo la pappa pronta, anche perchè mi piace farle da solo le cose, ma la febbre e la scadenza imminente richiedono un aiuto esterno...almneno qualche spunto please? grazie
    "perchè la vita è un brivido che vola via...è tutto un'equilibrio sopra la follia!"

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    97
    AGGIORNAMENTO:

    Smanettando sono riuscito a fare quello che volevo, solo che adesso ho un problema: mi vengono arrotondate le cifre e cosi le operazioni escono sfasate. Ecco il codice aggiornato:

    codice:
    <html> <head> </head> <body> <?php //$M = capitale //$t = tasso d'interesse //$N = numero periodi  $M = $_POST["M"]; $N = $_POST["durata"]*$_POST["cadenza"]; $t = $_POST["tasso"]/(100*$_POST["cadenza"]);  $T = $t + 1;  $n = $N - 1;   $a = array(); $i = 0;  while ($i <= $n) { $pow = pow($T,$i); array_push($a,$pow); $i = $i + 1; }  $somma = array_sum($a); $pot = pow($T,$N); $rata = $M*$pot/$somma; $tot = $rata*$N; $interessi = $tot - $M; $capres = $M; $qtaint = $capres * $t; $qtacap = $rata - $qtaint;  //formattazione cifre $M = number_format($M,2,',','.'); $rata = number_format($rata,2,',','.'); $tot = number_format($tot,2,',','.'); $interessi = number_format($interessi,2,',','.'); $capres = number_format($capres,2,',','.'); $qtaint = number_format($qtaint,2,',','.'); $qtacap = number_format($qtacap,2,',','.'); $capres1 = floor(($capres1) * 100) * .01; $qtaint1 = number_format($qtaint1,2,',','.'); $qtacap1 = number_format($qtacap1,2,',','.'); $capres2 = number_format($capres2,2,',','.'); $qtaint2 = number_format($qtaint2,2,',','.'); $qtacap2 = number_format($qtacap2,2,',','.'); //fine formattazione  if($_POST["cadenza"]==12) $freq="mensile"; if($_POST["cadenza"]==6) $freq="bimestrale"; if($_POST["cadenza"]==4) $freq="trimestrale"; if($_POST["cadenza"]==2) $freq="semestrale";  echo "
    Capitale finanziato = ".$M ." €
    "; echo "Durata del mutuo = ".$_POST["durata"] ." anni
    "; echo "Frequenza della rata = ". $freq ."
    "; echo "tasso d'interesse = ".$_POST["tasso"] ."% annuo
    ";  echo "
    importo della rata = ".$rata ." €
    ";  echo "numero di rate = ".$N ." rate
    "; echo "totale rate = ".$tot ." €
    "; echo "interessi = ".$interessi." €"; ?> <table border="1"> <tr> <td>N.° Rata</td> <td>Quota Interessi</td> <td>Quota Capitale</td> <td>Capitale Residuo</td> </tr> <tr> <td>0</td> <td>0</td> <td>0</td> <td> <?php echo ($capres); ?> </td> </tr> <tr> <td>1</td> <td> <?php echo ($qtaint); ?> </td> <td> <?php echo ($qtacap); ?> </td> <td> <?php echo ($capres1 = $capres - $qtacap); ?> </td> </tr> <tr> <td>2</td> <td> <?php echo ($qtaint1 = $capres1 * $t); ?> </td> <td> <?php echo ($qtacap1 = $rata - $qtaint1); ?> </td> <td> <?php echo ($capres2 = $capres1 - $qtaint1); ?> </td> </tr> <tr> <td>3</td> <td> <?php echo ($qtaint2 = $capres2 * $t); ?> </td> <td> <?php echo ($qtacap2 = $rata - $qtaint2); ?> </td> <td> <?php echo ($capres3 = $capres2 - $qtaint2); ?> </td> </tr> </table> </body> </html>
    Lo so, è molto spartano ma fa quello che mi ero prefissato di fare solo che adesso vorrei non arrotondare le cifre e quindi avere i calcoli esatti, con i "." e le "," al loro posto :P

    Qualcuno mi può aiutare? Grazie
    "perchè la vita è un brivido che vola via...è tutto un'equilibrio sopra la follia!"

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    97
    Ho risolto, ecco il codice aggiornato:

    codice:
    <html>
    <head>
    </head>
    <body>
    <?php
    //$M = capitale
    //$t = tasso d'interesse
    //$N = numero periodi
    
    $M = $_POST["M"];
    $N = $_POST["durata"]*$_POST["cadenza"];
    $t = $_POST["tasso"]/(100*$_POST["cadenza"]);
    
    $T = $t + 1; 
    $n = $N - 1; 
    
    $a = array();
    $i = 0; 
    while ($i <= $n) {
    $pow = pow($T,$i);
    array_push($a,$pow);
    $i = $i + 1;
    }
    
    $somma = array_sum($a);
    $pot = pow($T,$N);
    $rata = $M*$pot/$somma;
    $tot = $rata*$N;
    $interessi = $tot - $M;
    $capres = $M;
    $qtaint = $capres * $t;
    $qtacap = $rata - $qtaint;
    $capres1 = $capres - $qtacap;
    $qtaint1 = $capres1 * $t;
    $qtacap1 = $rata - $qtaint1;
    $capres2 = $capres1 - $qtacap1;
    $qtaint2 = $capres2 * $t;
    $qtacap2 = $rata - $qtaint2;
    $capres3 = $capres2 - $qtacap2;
    $qtaint3 = $capres3 * $t;
    $qtacap3 = $rata - $qtaint3;
    $capres4 = $capres3 - $qtacap3;
    $qtaint4 = $capres4 * $t;
    $qtacap4 = $rata - $qtaint4;
    $capres5 = $capres4 - $qtacap4;
    $qtaint5 = $capres5 * $t;
    $qtacap5 = $rata - $qtaint5;
    $capres6 = $capres5 - $qtacap5;
    $qtaint6 = $capres6 * $t;
    $qtacap6 = $rata - $qtaint6;
    $capres7 = $capres6 - $qtacap6;
    $qtaint7 = $capres7 * $t;
    $qtacap7 = $rata - $qtaint7;
    $capres8 = $capres7 - $qtacap7;
    $qtaint8 = $capres8 * $t;
    $qtacap8 = $rata - $qtaint8;
    $capres9 = $capres8 - $qtacap8;
    $qtaint9 = $capres9 * $t;
    $qtacap9 = $rata - $qtaint9;
    $capres10 = $capres9 - $qtacap9;
    $qtaint10 = $capres10 * $t;
    $qtacap10 = $rata - $qtaint10;
    $capres11 = $capres10 - $qtacap10;
    $qtaint11 = $capres11 * $t;
    $qtacap11 = $rata - $qtaint11;
    $capres12 = $capres11 - $qtacap11;
    $qtaint12 = $capres12 * $t;
    $qtacap12 = $rata - $qtaint12;
    $capres13 = $capres12 - $qtacap12;
    $qtaint13 = $capres13 * $t;
    $qtacap13 = $rata - $qtaint13;
    $capres14 = $capres13 - $qtacap13;
    $qtaint14 = $capres14 * $t;
    $qtacap14 = $rata - $qtaint14;
    $capres15 = $capres14 - $qtacap14;
    $dec  = 2   ; // valori decimali a cui arrotondare
    $d    = "," ; // Separatore decimali
    $k    = "." ; // separatore migliaia 
    $numrata = 0;
    //formattazione cifre
    $M = number_format($M,$dec,$d,$k);
    $rata = number_format($rata,$dec,$d,$k);
    $tot = number_format($tot,$dec,$d,$k);
    $interessi = number_format($interessi,$dec,$d,$k);
    $capres = number_format($capres,$dec,$d,$k);
    $qtaint = number_format($qtaint,$dec,$d,$k);
    $qtacap = number_format($qtacap,$dec,$d,$k);
    $capres1 = number_format($capres1,$dec,$d,$k);
    $qtaint1 = number_format($qtaint1,$dec,$d,$k);
    $qtacap1 = number_format($qtacap1,$dec,$d,$k);
    $capres2 = number_format($capres2,$dec,$d,$k);
    $qtaint2 = number_format($qtaint2,$dec,$d,$k);
    $qtacap2 = number_format($qtacap2,$dec,$d,$k);
    $capres3 = number_format($capres3,$dec,$d,$k);
    $qtaint3 = number_format($qtaint3,$dec,$d,$k);
    $qtacap3 = number_format($qtacap3,$dec,$d,$k);
    $capres4 = number_format($capres4,$dec,$d,$k);
    $qtaint4 = number_format($qtaint4,$dec,$d,$k);
    $qtacap4 = number_format($qtacap4,$dec,$d,$k);
    $capres5 = number_format($capres5,$dec,$d,$k);
    $qtaint4 = number_format($qtaint4,$dec,$d,$k);
    $qtacap4 = number_format($qtacap4,$dec,$d,$k);
    $capres5 = number_format($capres5,$dec,$d,$k);
    $qtaint5 = number_format($qtaint5,$dec,$d,$k);
    $qtacap5 = number_format($qtacap5,$dec,$d,$k);
    $capres6 = number_format($capres6,$dec,$d,$k);
    $qtaint6 = number_format($qtaint6,$dec,$d,$k);
    $qtacap6 = number_format($qtacap6,$dec,$d,$k);
    $capres7 = number_format($capres7,$dec,$d,$k);
    $qtaint7 = number_format($qtaint7,$dec,$d,$k);
    $qtacap7 = number_format($qtacap7,$dec,$d,$k);
    $capres8 = number_format($capres8,$dec,$d,$k);
    $qtaint8 = number_format($qtaint8,$dec,$d,$k);
    $qtacap8 = number_format($qtacap8,$dec,$d,$k);
    $capres9 = number_format($capres9,$dec,$d,$k);
    $qtaint9 = number_format($qtaint9,$dec,$d,$k);
    $qtacap9 = number_format($qtacap9,$dec,$d,$k);
    $capres10 = number_format($capres10,$dec,$d,$k);
    $qtaint10 = number_format($qtaint10,$dec,$d,$k);
    $qtacap10 = number_format($qtacap10,$dec,$d,$k);
    $capres11 = number_format($capres11,$dec,$d,$k);
    $qtaint11 = number_format($qtaint11,$dec,$d,$k);
    $qtacap11 = number_format($qtacap11,$dec,$d,$k);
    $capres12 = number_format($capres12,$dec,$d,$k);
    $qtaint12 = number_format($qtaint12,$dec,$d,$k);
    $qtacap12 = number_format($qtacap12,$dec,$d,$k);
    $capres13 = number_format($capres13,$dec,$d,$k);
    $qtaint13 = number_format($qtaint13,$dec,$d,$k);
    $qtacap13 = number_format($qtacap13,$dec,$d,$k);
    $capres14 = number_format($capres14,$dec,$d,$k);
    $qtaint14 = number_format($qtaint14,$dec,$d,$k);
    $qtacap14 = number_format($qtacap14,$dec,$d,$k);
    $capres15 = number_format($capres15,$dec,$d,$k);
    //fine formattazione
    
    if($_POST["cadenza"]==12) $freq="mensile";
    if($_POST["cadenza"]==6) $freq="bimestrale";
    if($_POST["cadenza"]==4) $freq="trimestrale";
    if($_POST["cadenza"]==2) $freq="semestrale";
    
    echo "
    Capitale finanziato = ".$M ." €
    ";
    echo "Durata del mutuo = ".$_POST["durata"] ." anni
    ";
    echo "Frequenza della rata = ". $freq ."
    ";
    echo "tasso d'interesse = ".$_POST["tasso"] ."% annuo
    ";
    
    echo "
    importo della rata = ".$rata ." €
    "; 
    echo "numero di rate = ".$N ." rate
    ";
    echo "totale rate = ".$tot ." €
    ";
    echo "interessi = ".$interessi." €";
    ?>
    <table border="0" align="center">
    <tr>
    <td>N.° Rata</td>
    <td>Quota Interessi</td>
    <td>Quota Capitale</td>
    <td>Capitale Residuo</td>
    </tr>
    <tr>
    <td>
    <?php
    echo ($numrata);
    ?>
    </td>
    <td>0</td>
    <td>0</td>
    <td>
    <?php
    echo ($capres);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap);
    ?>
    </td>
    <td>
    <?php
    echo ($capres1);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint1);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap1);
    ?>
    </td>
    <td>
    <?php
    echo ($capres2);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint2);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap2);
    ?>
    </td>
    <td>
    <?php
    echo ($capres3);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint3);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap3);
    ?>
    </td>
    <td>
    <?php
    echo ($capres4);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint4);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap4);
    ?>
    </td>
    <td>
    <?php
    echo ($capres5);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint5);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap5);
    ?>
    </td>
    <td>
    <?php
    echo ($capres6);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint6);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap6);
    ?>
    </td>
    <td>
    <?php
    echo ($capres7);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint7);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap7);
    ?>
    </td>
    <td>
    <?php
    echo ($capres8);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint8);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap8);
    ?>
    </td>
    <td>
    <?php
    echo ($capres9);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint9);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap9);
    ?>
    </td>
    <td>
    <?php
    echo ($capres10);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint10);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap10);
    ?>
    </td>
    <td>
    <?php
    echo ($capres11);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint11);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap11);
    ?>
    </td>
    <td>
    <?php
    echo ($capres12);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint12);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap12);
    ?>
    </td>
    <td>
    <?php
    echo ($capres13);
    ?>
    </td>
    </tr>
    <tr>
    <td>
    <?php
    echo (++$numrata);
    ?>
    </td>
    <td>
    <?php
    echo ($qtaint13);
    ?>
    </td>
    <td>
    <?php
    echo ($qtacap13);
    ?>
    </td>
    <td>
    <?php
    echo ($capres14);
    ?>
    </td>
    </tr>
    </table>
    </body>
    </html>
    Solo che il mio grande problema adesso è un altro:

    Se l'utente vuole fare un preventivo di 40 anni con pagamento mensile, qui faccio notte ora che metto tutte le variabili e le intabello...c'è una soluzione? grazie!
    "perchè la vita è un brivido che vola via...è tutto un'equilibrio sopra la follia!"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.