2016-12-30 46 views
0

在我的腳本中,賣家可以設置一個國內運費和一個國際運費,但那還不夠。如果客戶坐在世界另一端的一個國家,那麼坐在鄰居國家的客戶要貴得多。如何爲多國國家設置運輸方式?

我的想法是讓賣家選擇13個國家和地區並設置運費。 最大的問題是,如果賣家選擇了13個地區中的10個,那麼「運送國家名單」在文章頁面上要長得多。 什麼是最好的解決方案在mysql中存儲多個運輸成本和方法,並只顯示相關的客戶信息?

在MySQL我想下面是最好的解決辦法:

id|article|shipping-desc |price|japan|china|europe|america|england|german| 
1 |134 |Pakage  |5,90 | 0 | 0 | 0 | 0 | 0 | 1 
2 |134 |Insured-Pakage|23,90| 0 | 0 | 1 | 1 | 1 | 0 
3 |134 |Insured-Pakage|43,90| 1 | 1 | 0 | 0 | 0 | 0 

然後採取從MySQL到文章頁面的DATAS向他們展示給客戶:

SHIPPINGCOST(NATIONAL)  5,90€ - Pakage 
SHIPPINGCOST(INTERNATIONAL) 23,90€ - Insured-Pakage (europe,america,england,one more,...) 
SHIPPINGCOST(INTERNATIONAL) 43,90€ - Insured-Pakage (japan,china) 

還有如果有兩個或三個以上的國家,則需要很長時間。 有沒有人真的很好的解決方案,不要搞亂我的文章頁面?

來自德國的最好的問候!

+0

你應該正常化您的架構.. – scaisEdge

+0

從scaisEdge表結構是偉大的,我將創建這種方式。現在什麼是最好的解決方案,以一個價格保持文章頁面清除許多運輸方法? –

回答

1

您應該使用標準化的表如:

table articles 
id, article_code, shipping_desc_id, country_area_code, price 
1, 134, 1, GER, 5,90 
2, 134, 2, RPC, 23,90 
3, 134, 2, AME, 23,90 



table country_area 
country_area_code, country_area_name 
JPN, japan 
PRC, china 
AME, america 
GER, German 


shipping_method 
shipping_desc_id, shipping_desc_name 
1, Package 
2, Insured-Pakage 
+0

感謝您的優秀回答,那到目前爲止我的幫助很大! –

+0

@tobiass好,如果我的回答是正確的,請將其標記爲已接受...看到這裏如何 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – scaisEdge

+0

我寫了另一個在我的帖子頂部發表評論:什麼是最好的解決方案,以保持文章頁面從一個價格的許多運輸方法? –