对于会计系统,我使用的是 PHP 和 MySQL。我有两个表“GROUP”和“ACHEADS”。
在 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 |
-----------------------------------------
我已将这两个表加入为 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 的回显,那么这张桌子就会散架
问题
- 当我使用循环时,它会准确地回显 Details 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 |
----------------------------------------------
我的想法
- 如果我可以检查它是否是查询的最后一个数据,如果是 isset,则用它的 td 回显总金额。(但请记住挑战#2)
- 它需要一个foreach循环吗?
我失败了
- 我尝试检查 max(id),它在 SQL 中工作正常,但不能在循环内的条件下使用它。
(如果你还是不能理解我,那么在第二阶段,我会发布我的代码。)