计算php codigniter中的总应付金额

时间:2017-12-01 18:24:38

标签: php codeigniter billing

我有一个用PHP CodeIgniter编写的小型计费软件。这是我在提交付款时保存价值的方式

    <?php
    public function addPayment() {

    $id = $this->input->post('id');
    $client_id = $this->input->post('client_id');
    $date = strtotime($this->input->post('date_from_addpayment'));
    $description = $this->input->post('description');
    $cash_pending = $this->input->post('cash_pending');
    $cash_recevied = $this->input->post('cash_recevied');

    $balance = $cash_pending - $cash_recevied;
    ?>

当每个事务发生时,我想要将当时客户端的所有到期金额加起来并将其保存在MySQL的余额表中。 我的PHPMySQL支付栏结构如下:

https://i.stack.imgur.com/ELJrL.png

我只想在用户添加支付时,然后在此栏中显示当时的余额。

屏幕截图:https://i.imgur.com/raboF4M.png

2 个答案:

答案 0 :(得分:0)

根据我的理解,余额,到期,现金余额 - 所有3个字段相关 - 指的是相同的数字 - 待处理的金额。我相信你需要重新编写代码。

您需要有一个维护客户平衡的表(就像您现有的那样)。你可以删除cash_pending / due字段。

然后,您需要有另一张表,记录所有收到的现金的交易。并且当收到现金时,您可以从客户的余额中减去该金额。

如果需要为现金等额外添加任何超额金额,您可以添加到客户余额字段中。所以一直 - 你有一个适当的客户平衡数字,并记录从用户收到的所有现金。

答案 1 :(得分:0)

首先在结束php标签之前关闭你的函数的大括号。

在你的表中,id是自动递增的,所以不需要将id作为输入存储在数据库中。

将所有必填字段作为您的表格结构。

$data = array('client_id'=>$client_id, 'date'=>$date,

 'description'=>$description, 'cash_recevied'=>$cash_recevied, 'cash_pending'=>$cash_pending,

 'due'=>$due  );

$this->load->model('Your-model-name');

$this->your-model-name->function-name($data);

现在打电话给你的模特。然后在你的模型中做这个

function FunctionName($data){ 

return $this->db->insert('tablename', $data);

}