所以這一直踢我的屁股。一個小解釋是我有兩張桌子 - 設備和ehours。本質上,設備保持靜態並轉移到項目中,然後每天根據使用情況進行跟蹤。 equipment.eid
是設備的唯一標識符,然後在每個ehours條目中使用。來自加入的mysql查詢的多維數組
以下是我用來創建我的輸出的查詢。我得到的輸出正確排序,但無法弄清楚如何正確輸出。
SELECT e.cid, e.eid, h.pid, h.hdate, e.eqid, e.name, e.make, e.model, h.hours, e.uid
FROM equipment e
LEFT JOIN ehours h on h.eid = e.eid
AND MONTH(h.hdate) = $data[month] AND YEAR(h.hdate) = $data[year]
ORDER BY cid ASC, eid ASC, pid ASC, hdate ASC
我遇到的問題是,在給定的月份,一件設備可能在2個單獨的項目上。查詢顯示以下內容...
cid | eid | pid | hdate | eqid | name | make | model | hours | uid
4 | 55 | 1 | 2012-11-01 | E8 | Forklift | Clark CGP25 | | 5 | 1
4 | 55 | 1 | 2012-11-07 | E8 | Forklift | Clark CGP25 | | 5 | 1
4 | 55 | 1 | 2012-11-10 | E8 | Forklift | Clark CGP25 | | 2 | 1
4 | 55 | 1 | 2012-11-13 | E8 | Forklift | Clark CGP25 | | 3 | 1
4 | 55 | 4 | 2012-11-13 | E8 | Forklift | Clark CGP25 | | 2 | 1
輸出需要有第二維的日期,這將在該月的適當日期輸出。最後的顯示將顯示當月的所有日期。例如,第一個eid
將在一行中輸出,其中pid
爲1,並且在該月的適當日期具有hours
。然後它會有一條線,然後有相同的設備,但有pid
爲4.
所以,無論如何,我需要以某種方式創建數組的第二維的日期,我可以走過作爲我輸出每一行。或者可能是第三維來捕捉與每個日期相關的小時?我已經看過幾種php方法來嘗試這種方法,但目前爲止尚未成功。任何幫助是極大的讚賞。哇 - 這變成了一部小說。
編輯:
以下是輸出應該是什麼......
pid | eqid | name | make | 11-01 | 11-02 | ... | 11-07 | ... | 11-10 | ... | 11-13
1 | E8 | Forklift | Clark CGP25 | 5 | 0 | ... | 5 | ... | 2 | ... | 3
4 | E8 | Forklift | Clark CGP25 | 0 | 0 | ... | 0 | ... | 0 | ... | 2
也不得不考慮一個NULL值pid
所以是你想輸出究竟你收到你只是希望有2012-2015之間的線11-13 pid 1和2012-11-13 pid 4? –
是的 - 僅供參考。我正在考慮一個電子表格。第一行將包含項目,然後是設備信息,然後是所選月份和年份的所有日期,然後在每個月份的每一天都是適當的時間。下一行將具有相同的設備,但是下一個PID將在正確的日期記錄下適當的小時。如果每件設備只有一個日期,那很簡單。 – hatchet145