Jak utworzyć General Ledger / T-Account przy użyciu PHP Mysql
Próbuję stworzyć podwójny system księgowości finansowej. Zakończyłem projektowanie bazy danych, sprawdź ten link, aby zobaczyć schemat mojej bazy danych.http://i39.tinypic.com/juhbv6.png
Próbowałem wiele, aby rozwinąć zapytanie mysql do tworzenia księgi głównej, ale nie znalazłem go w pobliżu. Wszystko, co udało mi się zrobić, to utworzyć księgę tylko dla jednego konta, na którym muszę utworzyć konto bez ograniczeń.
Zapytanie, które wypróbowałem, jest następujące:
<code> $this->db->select('*'); $this->db->from('credit_side'); $this->db->join('debit_side', ' debit_side.transaction_id_dr = credit_side.transaction_id_cr '); $this->db->join('transaction_info', 'transaction_info.transaction_id = credit_side.transaction_id_cr '); $this->db->join('accounts', 'accounts.code = credit_side.account_code '); $this->db->where('debit_side.account_code', '1001'); $this->db->order_by('voucher_date','ASC'); </code>
Po nieudanym napisaniu zapytania mysql, które może wygenerować księgę dla wszystkich kont, zapisałem logikę, aby utworzyć konto KG / T.
Czy mógłbyś mi pomóc z zapytaniem mysql?
Sprawdź bazę danych przed przejściem przez następujące czynności. Z góry dziękuję :)
Zdobądźaccounts.name
AS AccountHead,accounts.code
z kont.
Idź do stołudebit_side
iget debit_side.account_code
, Jeślidebit_side.account_code
=accounts.code
potem dostańcredit_side.account_code
AS AccountName1 (ale gdy będę echo w php, chcę uzyskać nazwę zamiast samego kodu) icredit_side.amount
JAKO kwotę1,SUM(credit_side.amount)
AS TotalAmount1 odcredit_side
gdziedebit_side.transaction_id_dr
=credit_side.transaction_id_cr
itransaction_info.voucher_date
jest między date1 a date2 WHEREtransaction_info.transaction_id
=debit_side.transaction_id_dr
Po zakończeniu drugiego kroku idź do stołucredit_side
iget credit_side.account_code
,
Jeślicredit_side.account_code
=accounts.code
potem dostańdebit_side.account_code
AS AccountName2 (ale gdy będę echo w php, chcę uzyskać nazwę zamiast samego kodu) idebit_side.amount
AS Amount2,SUM(debit_side.amount)
AS TotalAmount2 fromdebit_side
gdziecredit_side.transaction_id_cr
=debit_side.transaction_id_dr
itransaction_info.voucher_date
jest między date1 a date2 WHEREtransaction_info.transaction_id
=credit_side.transaction_id_cr
Teraz w pliku widoku staram się mieć:
<code> <table width="200" border="0"> <tr><td colspan="5">Account Head <?echo $AccountHead ; ?> </td> </tr> <tr> <td>Dr.</td> <td>amount.</td> <td> </td> <td>Cr</td> <td>Amount</td> </tr> <tr> <td><?echo $AccountName1 ; ?></td> <td><?echo $Ammount1 ; ?></td> <td></td> <td><?echo $AccountName2 ; ?></td> <td><?echo $Ammount2 ; ?></td> </tr> <tr> <td>Total</td> <td><?echo $TotalAmount1 ; ?></td> <td> </td> <td>Total </td> <td><?echo $TotalAmount2 ; ?></td> </tr> </table> </code>Próbka księgi głównej