2015-01-15 76 views
0

我辦理銀行對賬與MySQL和PHP, 我開始計息和收費記錄 兩家銀行下面顯示的表處理銀行對帳PHP與MySQL

Banks table 
| BankID | BankName | 
| 01  |  AB Bank | 
| 02  |  CD Bank | 

它們用戶可以自由添加更多的銀行在Banks table

下面是對帳表,此表從銀行每一個月接受各種值或兩個

reconcilation table 
| BankID | interest | Charges  | Date  | Year | 
|  01 |  20.00 |  10.00 | 2013-05-30 | 2013 | 
|  02 |  0.00 |  0.00 | 2013-05-31 | 2013 | 
|  01 |  0.20 |  0.00 | 2013-08-27 | 2013 | 
|  02 |  50.00 |  0.00 | 2013-08-30 | 2013 | 

我希望能夠以顯示第一和解(即和解2013-05-302013-05-31他們的日期)爲在一個表上的兩家銀行,也表明第二和解(即和解2013-08-302013-08-27作爲他們的日期)對於不同表格上的兩個銀行在同一頁面上使用一個查詢。 reconcilation table最常在一年內每兩三個月更新一次。

這是列表如下。例如,一個PHP頁面上我們展示

ANALYSIS OF BANK ACCOUNTS (2013/05/01 to 2013/05/31) 

| Date  | Details  | AB Bank  | CD Bank | 
|2013/05/01 | Interest | 20.00  | 0.00 | 
|   | Charges  | 10.00  | 0.00 | 




ANALYSIS OF BANK ACCOUNTS (2013/06/01 to 2013/09/31) 

| Date  | Details  | AB Bank  | CD Bank | 
|2013-06-01 | Interest | 0.20  | 50.00 | 
|   | Charges  | 0.00  | 0.00 | 

注:用戶可以添加更多的銀行進入Banks table這會影響reconciliation table值。

UPDATE

這是我迄今

/** 
* This queries the various components for the various 
* banks within a particular period 
*/ 
$bankAccount1= "SELECT 
        a.bankID, 
        a.interest, 
        a.charges, 
        a.date 
       FROM 
        `Bank Reconciliation` a 
        group by bankID"; 

$bankResult1=$db->query($bankAccount1); 

while($bankRow1=mysqli_fetch_assoc($bankResult1)){ 
    $bankID=$bankRow1['bankID']; 
    $interest=$bankRow1['interest']; 
    $tableHead .='<th>'.$bankID.'</th>'; 
    $bankInterest .='<td>'.$interest.'</td>'; 
    $bankCharges .='<td>'.$charges.'</td>'; 
} 




/** 
* This query is suppose to list the number 
* of reconciliation that has been done within one 
* period. 
*/ 
$bankAccount2= "SELECT 
        a.bankID, 
        a.date 
       FROM 
        `Bank Reconciliation` a 
       group by date"; 

while($bankRow2=mysqli_fetch_assoc($bankResult2)){ 
     $bankName=$bankRow2['bankID']; 
     $date=$bankRow2['date']; 

     echo' 
      <table> 
       <thead> 
        <tr> 
         <th>Date </th> 
         <th>Details</th> 
         '.$tableHead.' 
        </tr> 
       </thead> 
       <tbody> 
        <tr> 
         <td>'.$date.'</td> 
         <td>Interest</td> 
         '.$bankInterest.' 
        </tr> 
        <tr> 
         <td>'.$date.'</td> 
         <td>Charge</td> 
         '.$bankCharges.' 
        </tr> 
       </tbody> 
      </table>'; 
} 

這仍然不能按預期工作的嘗試,給出了不同的和解期間相同的值。我想我做錯了什麼,如果有人能幫助解決它,我會很感激。由於

+0

那麼究竟什麼是你的問題?如果你想讓別人爲你編碼,請付款給開發者;) – cytofu

+0

@cytofu請不要爲我做這件事,我只需要一個想法,以便如何去做。謝謝 – George

+0

@cytofu,請看看我的問題,我用目前爲止已經嘗試過的更新了它,但似乎沒有按預期工作 – George

回答

0

幫我

reconciliation table 
| reID | ABinterest | ABcharge | CDinterest | CDcharges |  DateRange   | Year | 
| 1  | 20.00  |  10.00  |  0.00 |  0.00 | 2013/05/01 - 2013/06/31 | 2013 | 
| 2  | 0.20  |  0.00  |  50.00 |  0.00 | 2013/07/01 - 2013/09/31 | 2013 | 
0
SELECT b.bankname 
    , LAST_DAY(r.date) date 
    , SUM(r.Interest) Interest 
    , SUM(r.Charges) Charges 
    FROM reconciliation r 
    JOIN banks b 
    ON b.bankid = r.bankid 
GROUP 
    BY r.bankid 
    , LAST_DAY(r.date) 
+0

請這不工作,它給了我和我一樣的答案 – George

+0

現在,數據檢索(MySQL)的作品,但數據顯示(PHP)的問題 – George

+0

我已經嘗試使用PHP中的循環功能來解決它但無濟於事。你可以請嘗試一下,如果它能工作。 – George