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:

 $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');

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ć:

   <table width="200" border="0">
     <tr><td colspan="5">Account Head <?echo $AccountHead ; ?> </td> </tr>


    <tr>
           <td>Dr.</td>
           <td>amount.</td>
            <td>&nbsp;</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>&nbsp;</td>
 <td>Total  </td>
 <td><?echo $TotalAmount2 ; ?></td>

     </tr>
     </table>

Próbka księgi głównej