0

MySQL/php 的新手,但我正在使用 xampp 并尝试创建一个简单的网页来充当分类帐(例如支票账户交易)。因此,我在要插入新记录的表中有借方、收益和余额列(以及其他一些列):

html

<form id='chk-trans-form' action="example-api.php" method="post">
Detail: <input type='text' name='trans-detail'/><br/>
Date: <input type='text' id='trans-dts'/><br/>
Amount: <input type='text' id='trans-amount'/>
Debit <input type='radio' name='trans-type-group' value='debit' checked/> Gain <input type='radio' name='trans-type-group' value='gain'/>
<button id='submit-trans'>submit</button>
</form>

数据库.php

<?php
   $conn = mysql_connect('localhost', 'root', '');
   $db   = mysql_select_db('financial');
?>

示例-api.php

<?php
    include_once('database.php');

    $transDate = $_POST['trans-dts'];
    $transDetail = $_POST['trans-detail'];
  $transAmount = $_POST['trans-amount'];
  $transType = $_POST['trans-type-group'];

  if ($transType == 'debit')
  {
      if(mysql_query("INSERT INTO chktrans (chkDTS, chkDetail, chkDebit) VALUES ('$transDate','$transDetail', '$transAmount')"))
          echo "Successfully Added";
      else
          echo "Insertion Failed"; 
   } else {
    if(mysql_query("INSERT INTO chktrans (chkDTS, chkDetail, chkGain) VALUES ('$transDate','$transDetail', '$transAmount')"))
        echo $transType;
        else
            echo "Insertion Failed";    
   }
?>

所以这是我学到的方法,它可以很好地将数据放到表格中,虽然我不确定它是否是最好的方法,只是我发现的。

所以下一部分我有点不确定......因为这是一个像表一样的交易,我需要最后余额+(借方+收益)=新余额之类的东西。所以我不确定这是我应该尝试在 php 中还是在 mysql 中做的事情......我找到了类似计算的字段方法的触发器(here),但我不确定这是否会工作是因为我不知道如何获取最后一个值,或者最好的方法是为此创建触发器,还是尝试提取值并使用 php 获取值,计算并将所有内容发送回?

一如既往地感谢任何帮助或指导。

4

2 回答 2

1

只是SELECT您想要的列,将其存储在一个变量中,然后获取另一个。在这种情况下,您将获得“chkGain”和借记的必需品。最后的余额将保持不变,直到语句完成调用。

$currBalance = $currBalance + $debit + $gain;

请注意,在您的等式中,“最后余额 +(借方 + 收益)”不需要括号。操作顺序,我的朋友。

于 2013-03-24T01:09:06.770 回答
1

我会使用 SELECT 来计算余额,比如

select (currBalance + debit + gain) total_balance from chktrans;

如果要获取最后一行(最后插入的),可以执行以下操作:

select * from chktrans where rowid in (select max(rowid) from chktrans);

希望能帮助到你。

于 2013-03-24T01:14:41.030 回答