2016-11-20 10 views
0

PHPでmysqlデータベースでコードを作成しようとしていますが、保存された値と新しい入力値とのバランスを計算します。例えば私はこのようなデータベースを持っている:
PHP - 以前の値との残高を計算する

デビット= 30000
クレジット= 5000

:私は、HTML形式でこのような新しい価値をinputed場合

id | debit | credit | balance 
----+---------+--------+-------- 
1 | 70000 |  0 | 70000 
2 |  0 | 44000 | 26000 
3 | 45000 | 15000 | 56000 
4 |  0 | 32000 | 24000 
5 |  0 | 10000 | 14000 
6 | 28000 |  0 | 42000 

式がそうbalance = old_balance + new_inputed_debit - new_inputed_credit
です

入力ボタンをクリックするとスクリプトがこれを合計しますbalance = 42000 + 30000 - 5000
そして、データベースは次のようになります:

<?php 
    require('db2.php'); 
    // If form submitted, insert values into the database. 
    if(isset($_POST['submit'])) { 
     $debit = mysqli_real_escape_string($con,$_POST['debit']); 
     $credit = mysqli_real_escape_string($con,$_POST['credit']); 
     $balance = //old_balance + new_inputed_debit - new_inputed_credit 
     $query = "INSERT into `balance` (debit, credit, balance,) VALUES ('$debit','$credit', '$balance')"; 
     if(mysqli_query($con,$query)){ 
      echo "<div class='form'><h3>Inputed Success</h3><br/><a href='Input.php'>Input again</a></div> or <a href='index.php'>back</a>"; 
     }else{ 
     } 
    } 
?> 

そして、これは私のhtmlコードです:

id | debit | credit | balance 
----+---------+--------+-------- 
1 | 70000 |  0 | 70000 
2 |  0 | 44000 | 26000 
3 | 45000 | 15000 | 56000 
4 |  0 | 32000 | 24000 
5 |  0 | 10000 | 14000 
6 | 28000 |  0 | 42000 
7 | 30000 | 5000 | 67000 <-- New Submited Value 

これは私のPHPスクリプトです

<form name="input_data" action="" method="post"><br /> 
<label style="font-size:16px;">Debit :</label> 
<input type="text" name="debit" placeholder="Ex: 90000" style="margin-left:3px; width:80% !important;" required /><br /> 
<label style="font-size:16px;">Credit :</label> 
<input type="text" name="credit" placeholder="Ex: 90000" style="margin-left:3px; width:80% !important;" required /><br /> 
<span style="float:right;"><input type="reset" name="reset" value="RESET" style="margin-right:8px;" /> <input type="submit" name="submit" value="INPUT" style="margin-right:8px;" /></span> 
</form> 

は誰も私を助けることができるですPHPスクリプトを作成するには?ありがとう。

答えて

0

テーブルに行がない場合は、残高を0で初期化します。その後、テーブルから最後の行を取得し、その行からold_balanceを取得します。 $ credit = .... lineの後にこのスクリプトを置いてください。最後の行からold_balanceを取得し、行がない場合は0を取得します。

$old_balance = 0; 
$sql = "select max(id), balance from balance_table"; 
$result = mysqli_query($con,$sql); 
if(mysqli_num_rows($result) == 1){ 
    $row = mysqli_fetch_assoc($result); 
    $old_balance = $row["balance"]; 
} 
+0

警告でエラーになって:mysqli_num_rows()は、パラメータ1をmysqli_resultされることを想定し、balance.phpに与えられたブールは、他の名前に「バランス」から自分のテーブル名や列名を変更し、で選択クエリを実行しようとし – RA121514

+0

phpmyadminを実行してデータを返すかどうかを確認します。 –

+0

このエラーは、クエリが正常に実行されなかった場合に発生します。上記のようにコメントする –

関連する問題