2014-12-30 37 views
1

我正在製作一個可以登記自行車修理的網站。它的工作原理,但現在我很好調整。我有一個名爲「賠償」,「客戶」和「自行車」的表格的MySQL數據庫。在自行車中,模型,品牌等都有一個唯一的ID。在客戶中,有客戶ID,客戶名稱,地址等。在賠償中,我可以選擇一位顧客和一輛自行車,所以他們是相關的,這也是很好的:)。如何通過外鍵過濾SQL中的表?

當我選擇一位客戶進行賠償時,我只想看到他的自行車。所以,當客戶有兩輛自行車時,我想選擇客戶並僅查看兩輛自行車(或從中選擇唯一ID)。

現在我選擇一個客戶,我看到所有客戶的所有自行車。我如何在phpMyAdmin或PHP中執行此操作?這兩個都不錯,但如果可能的話更好phpMyAdmin的..

+3

Aaaand那你試試?你的代碼在哪裏?告訴我們一些工作! – briosheje

+0

用'INNER JOIN' – vaso123

+0

告訴我們表格的結構來幫助你更好 – krishna

回答

0

由於一個客戶可以有多輛自行車,並且一輛自行車屬於一名客戶,您應該將客戶ID存儲在您的自行車表(1-to-many relationship)中。

Bike          Customer 
    + bikeID         + customerID 
    + bikeBrand        + customerAddress 
    ...          ... 
    + customerID        

,然後選擇所有屬於客戶ID爲X的自行車:

SELECT bikeID FROM Bike WHERE customerID = X; 
+0

是的,這工作。我希望我可以在PHPMyAdmin中單擊&play,但它是一個SQL查詢,我可以在PHP中執行。現在,我想將輸出放到我的網站上的下拉列表中。謝謝! –

0

既然你還沒有提供的表結構,我們只能給你舉例:

所以,你可以嘗試這樣的:

SELECT * FROM Reparation WHERE customer_id = selected_customer_id;

+0

它只選擇客戶。你需要加入'Reparation'和'Bike'表格。 – vaso123