2016-10-27 85 views
1

我需要幫助才能將其發送給我的客戶。他堅持認爲,庫存報告的格式應該是這樣的:[PHP-MYSQL]查詢報告

Report

雖然在mysql中我的庫存表是這樣的:

Inventory Table

基本上,他希望應用程序組按項目名稱和顏色顯示庫存,然後對於數量列,他希望應用程序將其顯示在包含打印尺寸的一列中,具體取決於數量。因此,如果庫存表顯示我們有4個尺碼爲42的紅色耐克鞋和3個尺碼爲41的紅色耐克鞋,那麼它將在本專欄中印上「41 41 41 42 42 42 42」。

我希望我解釋得很好,請查看我的庫存表和詳細報告。

我需要建議如何正確地做到這一點,我可以做到這一點只使用SQL查詢,或者我應該與PHP代碼結合呢?

感謝您的幫助

親切問候

+0

嗯,我認爲你的「客戶」是困惑的。但客戶永遠不會錯。那麼,如果我說,嘗試使用SQL和PHP會讓你去。你基本上已經在你的描述中僞裝了它。不要試圖太快聰明,把它分解,看看會出現什麼。 – TimBrownlaw

回答

0

我認爲你需要先使用查詢:

select Item,Color,GROUP_CONCAT(Size) as SIZE,GROUP_CONCAT(Qty) as Qty from --tablename-- group by Item,Color 

然後使用PHP while循環,讓您的結果

while($num=$result){ 
$item=$num['Item']; 
$Color=$num['Color']; 
$size=explode(",",$num['SIZE']); 
$size_show=""; 
$qty=$num['Qty']; 
$qty1=explode(",",$qty); 
foreach($size as $key=>$val){ 
$qty2=$qty1[$val]; 
$k=1; 
while($k<=$qty2){ 
$size_show.="".$val." "; 
$k++; 
} 

} 

echo $size_show; 
} 

請注意,我只給出了這個想法,並沒有測試代碼

+0

非常感謝我試過你的想法並將其應用於我的代碼中。它的工作原理和我只是做了輕微的修改在每個循環:的foreach($大小爲$密鑰=> $ VAL) \t \t { \t \t \t $ qty2 = $ qty1 [$鍵]。 \t \t \t $ k = 1; \t \t \t而($ķ<= $ qty2) \t \t \t { \t \t \t \t $ size_show = 「」 $ VAL。」「。 \t \t \t \t $ k ++; \t \t \t} \t \t} –

+0

我你的感受是正確的,你可以voteup並單擊右鍵 –

+0

啊,我已經做了,但因爲我的名聲仍低於15,我認爲它不會是發佈 –