私は非常に単純なアプリをゼロから作成して、物事を注文してから、各顧客のコストを表示できるようにしています。
プログラミングは初めてなので、できる限り多くのことを理解し、ベスト プラクティスに従うように最善を尽くしています。
今のところ私を悩ませている問題に遭遇しました
次のテーブル構造があります
**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>
上記の情報を表示するには、次のことができると考えました。
- customers.days に items.dayCost を掛けて、1 日あたりのコストを計算します。
- customers.numColorFish に items.colorFish を掛けて、各魚のコストを計算します。
- 各 customers.numColorFish に対応する items.colorFish を掛けて合計を計算し、それらを合計してから、customers.days by items.dayCost の結果に加算します。
これまでのところ、私の構造は上記のすべてを行うのに問題ないと思います。
私が今できるようにしたいのは、任意の金額を支払い、残りの支払い額と合計費用を表示することです。
可能であれば、コストごとに括弧内に魚の数を入れてください。
<p> Red Fish total: $160 (4) </p>
テーブル構造を根本的に変更する必要がありますか? amountPaid 列を顧客テーブルに追加するだけで十分ですか?
支払いが行われるたびに記録するテーブルが必要ですか? これにより、顧客が支払った/負っている金額を出力することがより複雑になりますか?
そのような方法の欠点は何ですか?また、より良い実践に沿ったより良いアプローチは何ですか?