Kopion tämmösen scriptin PHP&MySQL 5 kirjasesta, mutta se ei oikein toimi...
<!---MAKSULASKIN ALKAA---> <?php function maksulaskin($maksu, $kkmaksu, $tase, $kkkorko) { $maksukorko=round($tase * $kkkorko,2); $paamaksu=round($kkmaksu - $maksukorko,2); $uusitase=round($tase - $paamaksu); print "<tr> <td>$maksu</td> <td>\$".number_format($tase,2)."</td> <td>\$".number_format($kkmaksu,2)."</td> <td>\$".number_format($maksukorko,2)."</td> <td>\$".number_format($paamaksu,2)."</td> </tr>"; #Jos tase ei vielä ole 0, kutsu rekursiivisesti maksulaskin() if ($uusitase > 100000) { $maksu++; maksulaskin($maksu, $kkmaksu, $uusitase, $kkkorko); } else { exit; } } #maksulaskin() loppuu ?> <!--- ---> <?php #Muutamat alustavat muuttujat #Tase $tase=200000.00; #Korkokanta $korkotaso=.0999; #Kuukausittainen korkokanta $kkkorko=.0999 / 12; #Maksuajan pituus vuosina $maksuaika=30; #Maksujen määrä vuodessa $maksujavuodessa=12; #Maksun toisto $maksunro=1; #Alustavat laskut $maksujayht=$maksuaika * $maksujavuodessa; $yhtlasku= 1 + $korkotaso / maksujavuodessa; $kkmaksu=$tase * pow($yhtlasku,$maksujayht) * ($yhtlasku - 1) / (pow($yhtlasku,$maksujayht) - 1); $kkmaksu=round($kkmaksu,2); #Taulun luonti echo "<table width='50%' aling='center' border='2'>"; print " <tr> <th>Maksunumero</th> <th>Tase</th> <th>Maksu</th> <th>Korko</th> <th>Principal</th> </tr>"; #Rekursiivisen function kutsu maksulaskin($maksu, $kkmaksu, $tase, $kkkorko); #Sulje taulu print "</table>"; ?> <!---MAKSULASKIN LOPPUU--->
Hyvinkin voi olla tossa koodissa jotain kirjotusvirheitä ;D
Kun yritän avata tuon sivun localhostissa, tulee suoraan ikkuna "Sivua ei voi näyttää"
Kun sitten painaa "edellinen", sivu tulee näkyviin n. 1s ja menee takas siihen "Sivua ei voi näyttää"-sivuun.
(Ei se oo oikein ees sillon kun se näkyy, menee väärinpäin laskut väärään kohtaan ku vertaa kirjan malliin)
Oon ite tarkasnut kyseisen scriptin n. 2 kertaa
Toimii tuo scripti. Ihmettelen kyllä tuota "ongelmaa"...
Mmm... Eipä toimi mulla :)
Tuo viittaisi siihen, että PHP:n tai palvelinsoftan asetuksissa on vikaa, eikä koodissa ole mitään ongelmaa.
Kun löysin kirjan mukana tulleesta CD:stä vastaavan koodin, se kyllä toimi:
<?php function amortizationTable($paymentNum, $periodicPayment, $balance, $monthlyInterest) { $paymentInterest = round($balance * $monthlyInterest,2); $paymentPrincipal = round($periodicPayment - $paymentInterest,2); $newBalance = round($balance - $paymentPrincipal,2); print "<tr> <td>$paymentNum</td> <td>\$".number_format($balance,2)."</td> <td>\$".number_format($periodicPayment,2)."</td> <td>\$".number_format($paymentInterest,2)."</td> <td>\$".number_format($paymentPrincipal,2)."</td> </tr>"; # If balance not yet zero, recursively call amortizationTable() if ($newBalance > 0) { $paymentNum++; amortizationTable($paymentNum, $periodicPayment, $newBalance, $monthlyInterest); } else { exit; } } #end amortizationTable() ?> <?php # Set some initial variables # Loan balance $balance = 200000.00; # Loan interest rate $interestRate = .0575; # Monthly interest rate $monthlyInterest = .0575 / 12; # Term length of the loan, in years. $termLength = 30; # Number of payments per year. $paymentsPerYear = 12; # Payment iteration $paymentNumber = 1; # Perform preliminary calculations $totalPayments = $termLength * $paymentsPerYear; $intCalc = 1 + $interestRate / $paymentsPerYear; $periodicPayment = $balance * pow($intCalc,$totalPayments) * ($intCalc - 1) / (pow($intCalc,$totalPayments) - 1); $periodicPayment = round($periodicPayment,2); # Create table echo "<table width='50%' align='center' border='1'>"; print "<tr> <th>Payment Number</th><th>Balance</th> <th>Payment</th><th>Interest</th><th>Principal</th> </tr>"; # Call recursive function amortizationTable($paymentNumber, $periodicPayment, $balance, $monthlyInterest); # Close table print "</table>"; ?>
Tossa koodissa kaikki jutut on englanniks, koska se on aivan ctrl+c ja ctrl+v
Muuten, ootteko kokeillut tuota edellistä koodia omassa selaimessa?
Dekooderi kirjoitti:
Muuten, ootteko kokeillut tuota edellistä koodia omassa selaimessa?
Ollaan kokeiltu tuota mukavaa looppia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.