2012-09-11 43 views
2

我在數據庫中存儲的汽車零部件。顯然,有些零件只適用於特定車輛的某些年份。最佳的方式在MySQL中使用多年的存儲零件DB

當輸入到MySQL的部分,我讓用戶只使用這種格式的日期,「41,42,43,45,46」等等。然後,我只是內爆,用PHP爆炸。這是有效的,我需要做的。

現在我需要拉基於他們提供的年部件。我不想在我的表單中使用多個選擇框,如果我可以幫助它。

任何想法?

+2

一個例子將是一個主要的幫助。 – hjpotter92

+0

您的問題是如何將其存儲在數據庫中或如何在網站上顯示它? – ajon

+0

問題是如何存儲它。我想我在下面找到了答案。這是一個「編程」問題的邏輯問題。 – Dan

回答

3

永遠不要存儲在單場超過一個信息,如果你想分別訪問它們。決不。

您需要重新修改DB以在模型年份和零件之間建立一個連接表,而不是將所有模型年限擠在零件表的單個字段中。

一些棘手的文本選擇將整理的工作,但它會殺死definitly你的表現。如果這是一個完整的零件目錄,即使是單一型號,也會導致您的性能達到無法使用的程度。

對不起:比禮貌更好說實話,如果你真的不能兼得。

+0

我來這裏誠實的答案,所以謝謝。我的意思是昨天回來,但卻遇到了一些事情。實際上,我擔心性能問題,爲每個被拉出的行創建一個循環似乎極端。我喜歡下面的例子,我可以嘗試類似的東西。 – Dan

+0

@Dan下面的例子正是我的意思:我的「連接表」正是斯蒂芬所建議的 - 連接這些年份的表格。這是永遠不能解決的循環,但在一個聯合(因此名稱jointable)。 –

+0

我明白了:)你正在解釋邏輯,他展示了一些基本的語法。我理解所有的語法都是令我困惑的邏輯。儘管它是基本的東西,但我猜它已經晚了。感謝你們:) – Dan

2

你有許多一對多的關係。所以創建另一個表

例...

part_id | Year 
-------------- 
    1  1995 
    1  1996 
    2  1995 
    2  1997 
    3  1998 

等等...

然後你就可以得到所有的年份一部分與使用類似的東西

select * 
from parts 
join parts_years 
    on (part_id = parts.id); 
+0

我要試試這個今天,由於某種原因,我不能讓我的腦子想這樣做的正確方法。謝謝您的幫助! – Dan

相關問題