我有一个用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
我只想在用户添加支付时,然后在此栏中显示当时的余额。
答案 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);
}