2013-04-23 100 views
1

我想要做的是顯示收益顯示在最上面的條目的頁面。 但它仍然需要總數達到每一行。PHP MYSQL SUM總數,但顯示行

所以頁面一個可能是這樣的:

Date  Amount Balance 
1/9/2013 10.00 80.00 
1/7/2013 10.00 70.00 
1/6/2013 10.00 60.00 

第2頁可能是這樣的:

Date  Amount Balance 
1/5/2013 10.00 50.00 
1/4/2013 10.00 40.00 
1/3/2013 10.00 30.00 
1/2/2013 10.00 20.00 
1/1/2013 10.00 10.00 

,但是這是我得到:

Date  Amount Balance 
1/9/2013 10.00 60.00 
1/7/2013 10.00 70.00 
1/6/2013 10.00 80.00 

頁2看起來像這樣:

Date  Amount Balance 
1/5/2013 10.00 10.00 
1/4/2013 10.00 20.00 
1/3/2013 10.00 30.00 
1/2/2013 10.00 40.00 
1/1/2013 10.00 50.00 

請注意,餘額是落後的。但即使我的例子沒有顯示它,金額是在正確的順序。 這裏是我的代碼:

SELECT *, 
@total:= @total+ `companyearned` AS `total` 
FROM `recordedhours`, (SELECT @total:=0) r WHERE `group` = '$uid' 
ORDER BY `unixdate` DESC, `idnum` DESC 
LIMIT $from, $max_results 

while ($rowb = mysql_fetch_array($result2)) { 
//CREATE ROWS HERE 
} 

您的幫助非常感謝! :)

+0

你試過'ORDER BY unixdate ASC'? – 2013-04-23 15:42:38

+0

感謝您的評論 - 是的,它把它放錯了順序。即使是第一頁的第一個結果。這對於某人找到最後一個條目必須轉到最後一頁非常不利。我希望它顯示得很像paypal的歷史記錄 – topedge 2013-04-23 15:53:36

+0

@topedge .. look @ my answer。 – 2013-04-23 15:55:00

回答

0

試試這個SQL

SELECT * FROM 
(
    SELECT *, @total:= @total+ `companyearned` AS `total` 
    FROM `recordedhours`, (SELECT @total:=0) r WHERE `group` = '$uid' 
    ORDER BY `unixdate` ASC, `idnum` DESC 
    LIMIT $from, $max_results 
) tab ORDER BY `unixdate` DESC 
+0

感謝您的建議 - 但真的搞砸了。包括它切換頁面順序。現在它只是將每個頁面總和不在我所在的頁面上。 – topedge 2013-04-23 15:58:26

+0

你能顯示生成的輸出嗎? – 2013-04-23 16:05:52

+0

感謝您回覆我這麼快,我通過編輯您的建議添加了上面的內容,因爲評論不允許我們顯示列和行。 – topedge 2013-04-23 16:20:27