我正在从头开始创建一个非常简单的应用程序以允许订购事物,然后显示每个客户的成本。
这是我第一次尝试编程,所以我尽力去理解很多东西并尽可能地遵循最佳实践。
我遇到了一个困扰我的问题
我有以下表结构
**Customers:**
id firstName lastName country days
----------------------------------------
1, john, smith, usa, 5
**Items:**
itemID, itemName, itemCost
------------------------------
1, blueFish, 20
2, dayCost, 10
**Purchases:**
id numBlueFish numPinkFish numRedFish numGreenFish
--------------------------------------------------
1, 0, 0, 2, 4
我希望能够在显示余额的页面中显示以下信息:
<b>Total Balance</b>
<p> Day costs: </p>
<p> Blue Fish cost: </p>
<p> Pink Fish cost: </p>
<p> Red Fish cost: </p>
<p> Green Fish cost: </p>
<p> Total: </p>
<b> Balance Owing :</b>
<p> Day costs total: </p>
<p> Blue Fish total: </p>
<p> Pink Fish total: </p>
<p> Red Fish total: </p>
<p> Green Fish total: </p>
<p> Total: </p>
为了显示上述信息,我想我可以:
到目前为止,我认为我的结构可以很好地完成上述所有工作。
我现在想要做的是支付任意金额,并显示剩余的余额以及总费用。
如果可能的话,对于每个成本,可以将鱼的数量放在括号中,例如:
<p> Red Fish total: $160 (4) </p>
我是否需要从根本上改变我的表格结构?将amountPaid列添加到customers表中是否足够?
每次付款时我都应该有一张表来记录吗?这会使输出客户支付/欠款的数量变得更加复杂吗?
这种方法的缺点是什么,以及哪些更好的方法符合更好的做法?
答案 0 :(得分:1)
您的客户是否只进行过一次付款?如果没有,您不希望将amountPaid添加到customers表。您最想做的是将付款信息存储在完全独立的表格中。您已经有一个订单表,可以存储您的订单,但您无法将客户与订单联系起来。
我不确切地知道你要做什么,但我会从以下内容开始:
将customerId添加到您的订单表。
添加欠订单表的总金额以及剩余应付金额(我假设此金额基于订单下达时鱼的成本;即不受更改影响未来的鱼价)。
添加一个包含customerId,orderId并包含已支付和/或到期金额的付款表。用它来跟踪客户的付款。您可以选择将一个状态字段添加到订单表中,并在满足时将其更新为已付款(或有条件地依赖剩余金额为零)。