2012-09-04 15 views
-1

我試圖顯示來自3個不同的MySQL表,客戶端,訂單的內容。產品 與HTML結構:維度數組 - 3表到HTML

    Product 1  Product 2  Product 3 ..... 
client 1  quantityOrder  quantityOrder  - 
client 2   -   quantityOrder quantityOrder 
client 3  quantityOrder  -     - 

我使用的是多維數組,但不知何故,這是行不通的。

試圖按照從這個職位的指示,但還沒有運氣: PHP two dimensional array into HTML

任何想法?

感謝 亞歷克斯

+0

歡迎StackOverflow的:

然後,你可以遍歷在PHP表(當然你可能把它保存在一個多維數組,使用客戶和產品標識爲鍵)。我的代碼中沒有看到任何問題_因爲您沒有顯示它... ...請點擊「編輯」並將您的代碼(或相關部分)添加到您的問題中。在這種情況下,「不知何故它不起作用」是什麼意思?什麼都沒發生?發生錯誤的事情?它_almost_有效,但並不完全符合你的要求? – nnnnnn

回答

0

完全不使用數組。你有一個二維數組,可以直接建一個表:

SELECT client.id, client.name, product.name as productname, SUM(order.quantity) AS qty 
    FROM client CROSS JOIN product 
     LEFT JOIN order ON (order.product_id = product.id AND order.client_id = client.id) 
    GROUP BY client.id, product.id ORDER BY client.name, product.code; 

這將輸出爲每一個客戶和產品,如果沒有那個(客戶,產品)之間的連接可能爲空細胞與細胞訂單。

print "<table>"; 
$customer_id = -1; 
while($tuple = SQLFetchTuple($exec)) 
{ 
    if ($tuple['id'] != $customer_id) 
    { 
     if (-1 != $customer_id) 
      print "</tr>"; // Close previous row 
     print "<tr><td>{$tuple['name']</td>"; // Output row header 
     $customer_id = $tuple['id']; 
    } 
    if ($tuple['qty']) 
     print "<td>{$tuple['qty']</td>"; 
    else 
     print "<td>-</td>"; 
} 
print "</table>";