会計システムには、PHP と MySQL を使用しています。「GROUP」と「ACHEADS」の2つのテーブルがあります。
GROUP テーブルには、次のものがあります。
---------------------
| id (AI) | group |
---------------------
| 1 | Group 1 |
| 2 | Group 2 |
---------------------
ACHEADS テーブルには、次のものがあります。
-----------------------------------------
| id (AI) | ac_head | amount | j_id |
-----------------------------------------
| 1 | Something 1 | 2000 | 1 |
| 2 | Something 2 | 1000 | 1 |
| 3 | Something 3 | 5000 | 2 |
| 4 | Something 4 | 4000 | 2 |
| 5 | Something 5 | 8000 | 2 |
-----------------------------------------
2 つのテーブルを GROUP.id <<->> ACHEADS.j_id として結合しました
次に、次のようにデータをプレビューする必要があります。
----------------------------------------------
Particulars | Details | Total |
----------------------------------------------
Group 1 | | |
Something 1 | 2000 | |
Something 2 | 1000 | 3000 |
----------------------------------------------
Group 2 | | |
Something 3 | 5000 | |
Something 4 | 4000 | |
Something 5 | 8000 | 17000 |
----------------------------------------------
GRAND TOTAL | | 20000 |
------------------------------------==========
課題
- テーブルは動的になり、PHP ループ内で生成されます (私は WHILE ループを使用しています)
- 覚えておいてください: これはテーブルであり、td のエコーを逃すと、テーブルが壊れます。
問題
- ループを使用している場合、詳細 td のデータが正確にエコーされます。ただし、j_id による詳細行の合計も各 td でエコーされます
ここでプレビュー:
----------------------------------------------
Particulars | Details | Total |
----------------------------------------------
Group 1 | | |
Something 1 | 2000 | 3000 |
Something 2 | 1000 | 3000 |
----------------------------------------------
Group 2 | | |
Something 3 | 5000 | 17000 |
Something 4 | 4000 | 17000 |
Something 5 | 8000 | 17000 |
----------------------------------------------
私の考え
- それがクエリの最後のデータであるかどうかを確認できれば、設定されている場合は、td で合計金額をエコーします。(ただし、課題 #2 を覚えておいてください)
- foreach ループが必要ですか?
私は失敗しました
- max(id) をチェックしてみました。SQL では問題なく動作しますが、ループ内の条件では使用できません。
(それでも理解できない場合は、第 2 段階でコードを投稿します。)