台灣最大程式設計社群網站
線上人數
1485
 
會員總數:243311
討論主題:188091
歡迎您免費加入會員
討論區列表 >> PHP >> PHP array 插入加總資料
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
PHP array 插入加總資料
價值 : 5 QP  點閱數:388 回應數:3

樓主

PPAP
門外漢
0 4
64 4
發送站內信

各位前輩好,目前要做一份從MySQL DB 取資料用PHPexcel的方式寫入EXCEL,

如果有多間門市,每間門市都有各自的費用,如何在寫入EXCEL,每間門市的最下方插入一欄加總金額的陣列?

目前想法是用 迴圈判斷如果是不同門市就新增一攔加總攔,如果相同就加總金額

但是卡在陣列不知道怎麼插入一筆加總資料

---------------------------------------------------------
DB 出來的陣列內容:
Array (
[0] => Array ( [store] => 001,[money]=>1,000 )
[1] => Array ( [store] => 001,[money]=>99 )
[2] => Array ( [store] => 002,[money]=>10 )
[3] => Array ( [store] => 002,[money]=>1,070 )
[4] => Array ( [store] => 002,[money]=>120 )
[5] => Array ( [store] => 003,[money]=>777 )
)

預期EXCEL結果:

門市|費用 |總計
001|1,000|
001|99 |
001| |1,099
002|10 |
002|1,070|
002|120 |
002| |1,200
003|777 |
003| |777

搜尋相關Tags的文章: [ PHP ] , [ array ] , [ 加總 ] ,
本篇文章發表於2017-12-29 12:13
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
你這屬於重整資料的動作。所以你的陣列是需要重新建立處理。
要達到這個目的。首先你得要確定store是有排序過的。也就是同樣的門市資料一定得要放在一起不能跳段。

基本上這個動作可以在下sql命令時就可以做到。所以我就不在php中做處理。
依照你要的方式可以用如下的程式碼處理
先假設其$db_data為你取出來的陣列資料


不過一般來說,如果是使用PHPexcel處理的話。理當你要將其產生式寫到其產生excel上去。
不該去變動原來的array處理才對。
你可以應用我上面的方式,直接應用到你的PHPexcel產生excel時中使用。會比較單純一些。
在其PHPexcel也有可以直接套公式的做法。這樣你也不需要自已相加處理的。
反正都要在excel上使用,直接帶入公式的方式反而會比較好。
本篇文章回覆於2017-12-29 17:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

PPAP
檢舉此回應
感謝大神,後續討論處理方式是在取出的資料表,先做額外加總處理

並且寫入表內,後續取出資料寫入EXCEL 直接一氣呵成~
本篇文章回覆於2017-12-29 22:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
其實一般並不太建議這樣的做法。
因為如果真要這樣做的話。

那倒不如直接產生excel檔備用還來的比較好比較快。
用db來保留資料的做法並不太好。
本篇文章回覆於2018-01-02 13:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.