Php 如何记录人工付款的发票的概念或方法

Php 如何记录人工付款的发票的概念或方法,php,mysql,sql,database,Php,Mysql,Sql,Database,我正试图设计一个记录人工付款的系统,如支票、Chaps、Bacs 我正在努力解决的是如何在我离开应用程序和单击“确认”返回之间连接这些点 我有一张3家供应商的发票表。每3个都有不同的手动付款方法,具有唯一的INVNO 我今天来决定付款,所以我从发票表中提取发票。 我得到一张需要支付的清单 1. CHEQUE 170 BT 2. CHAPS 300 VIRGIN 3. BACS 10 ORANGE 所以我跑到银行去付款,然后回到我的应用程序,记录下哪3笔付款涵盖了哪几张发票 我希望我输入已付款的

我正试图设计一个记录人工付款的系统,如支票、Chaps、Bacs

我正在努力解决的是如何在我离开应用程序和单击“确认”返回之间连接这些点

我有一张3家供应商的发票表。每3个都有不同的手动付款方法,具有唯一的INVNO

我今天来决定付款,所以我从发票表中提取发票。 我得到一张需要支付的清单

1. CHEQUE 170 BT
2. CHAPS 300 VIRGIN
3. BACS 10 ORANGE
所以我跑到银行去付款,然后回到我的应用程序,记录下哪3笔付款涵盖了哪几张发票

我希望我输入已付款的支票,此时付款插入付款表,系统将自动分配新的PAYID,同时使用新的PAYID更新发票表以显示INVNO>PAYID

问题,所以输入支票,分配新的PAYID 1,然后转到发票表,用新的PAYID更新第1、3、6行

我丢失的地方是,当我输入付款并获得新ID时,我如何识别付款所指的INVNO?还是我做这件事的方式完全错了

我不知道如何连接这两个过程。获取发票列表,确认哪些发票已付款,而无需手动指定发票号,因为可能有数百张发票需要处理

INVOICE TABLE
INVNO   MERCHANT    T   AMOUNT      METHOD
1       BT              100         CHEQUE
2       VIRGIN          200         CHAPS
3       BT              50          CHEQUE
4       ORANGE          10          BACS
5       VIRGIN          100         CHAPS
6       BT              20          CHEQUE

PAYMENT TABLE
PAYID   MERCHANT    T   AMOUNT
1       CHEQUE          170
2       CHAPS           300
3       BACS            10

INVOICE TABLE
INVNO   MERCHANT    T   AMOUNT      METHOD
1       BT          1   100         CHEQUE
2       VIRGIN      2   200         CHAPS
3       BT          1   50          CHEQUE
4       ORANGE      3   10          BACS
5       VIRGIN      2   100         CHAPS
6       BT          1   20          CHEQUE

另一张由INVNO和PAYID对组成的表,我们称之为INVOICE\u PAYMENT,怎么样?您可以在向PAYMENT中插入新条目后立即填充它,这将不再需要AMOUNT列,因为可以通过连接表和分组来发现AMOUNT列;现有的两个表都不需要T列,因为这可以通过与INVOICE_PAYMENT联接来发现

创建发票付款表 INVNO BIGINT无符号非空, PAYID BIGINT UNSIGNED NOT NULL, 主键INVNO,PAYID, 外键INVNO参考发票INVNO, 外键PAYID引用支付PAYID ; 更改表发票下拉列T; 更改表付款下拉列T,下拉列金额; 然后,要创建付款:

在支付商户价值中插入“支票”; 设置@pay\u id:=最后一次插入\u id;-或者通过API访问PHP 在发票中插入付款发票号,PAYID 选择INVNO、@pay_id FROM INVOICE,其中方法='check'和; 获取给定付款的详细信息,包括支付的金额:

选择付款。*,SUMINVOICE.AMOUNT 从发票 使用INVID加入发票付款 使用PAYID加入支付 其中PAYID=? 获取给定发票的详细信息,包括付款:

挑选* 从发票 使用INVID加入发票付款 使用PAYID加入支付 其中INVID=?
好的,在创建新的发票\付款后,我如何将新创建的付款与其所指的发票相链接?您好,您能解释一下,当您将INVNO插入发票\付款时,您从哪里获得要插入的值?我只能看到你拔出最后一个id来支付id如果我看错了请纠正我。但这没用,是吗。因为您仍然需要手动计算哪些发票正在付款,才能使用这些值将INVNO插入发票付款中。在哪一点上,您必须手动了解所有INVNO编号并手动将其分配给PAYID@adamgouldie:您的业务逻辑是什么?基本上我有一个发票表。这些都是一大堆小数目。我在银行或网上一次性付款。因为它们必须手工制作,我需要能够拿下那个列表,回来说它已经支付了。我将能够记录已支付的1笔款项,它将进入并输入新的PAYID,获取该PAYID并将其分配给已支付的发票。现在我可以用哪种方法查看所有付款。如果我想知道哪些发票与付款有关,我也可以这样做。无需手动获取500个INVNO值,这似乎是他们在尝试做同样的事情。将订单与发票链接到付款,然后再链接回来。只需输入一个付款值。但这意味着要手动选择付款和发票。