2014-09-06 37 views
-1

我正在開發中,我有3個不同的表如何插入,並在表一起顯示分組數據

  1. main_menu與領域iditem_name例如咖啡訂購應用程序咖啡廳,比薩餅吧,早餐等
  2. sub_menu與領域idsub_item_nameitem_nameprice e.g柴拿鐵爲$ 2.00
  3. sub_type與領域idsub_item_typesub_item_nameitem_nameadd_price例如柴拿鐵大尺寸(+ $ 0.50)和豆漿(+ $ 0.50)所以總價格$ 3.00

我所混淆的是,用戶可以選擇多個sub_type訂貨時就像在上面的例子中,在那裏他可以想要額外的牛奶和尺寸升級。所以當我將訂單插入數據庫時​​,當用戶選擇sub_type時,是否需要運行插入查詢兩次?或者有沒有辦法在單個查詢中做到這一點?

同樣的事情,當我在廚房裏顯示數據時:我如何將sub_type分組並顯示在同一行,這樣咖啡機就不會感到困惑,並且很容易知道這與額外的訂單相同?

我使用在咖啡定貨方的Android和PHP廚房側顯示 我需要顯示的結果在PHP表像這樣

+----------+-------------+---------------------+------------+ 
    | Order No |Item_name |Sub_Item_Name  |Total Price | 
    +----------+-------------+---------------------+------------+ 
    |145  |Chai Latte |Soy Milk,Large Size | $3.00  | 
    |   |    | Extra Sugar  |   | 
    +-----------------------------------------------------------+ 
    |146  |Black Tea |Regular Size,No  | $2.50  | 
    |   |    |Sugar    |   | 
    +-----------------------------------------------------------+ 
    |147  |Espresso  |Skin Milk,Small Size | $3.50  | 
    |   |    |      |   | 
    +-----------------------------------------------------------+ 
+0

是'item_name'應該在'sub_type'出現兩次? – 2014-09-06 06:38:59

+0

@isim沒有item_name應該是一次,但sub_item_type可以是多個用戶選擇,例如,用戶可以選擇一個大尺寸,豆漿和2額外的糖espresso ....所以,當我顯示它在廚房方單與單個項目名稱濃咖啡,但超過sub_item_type大尺寸,應顯示額外的糖和豆奶 – 2014-09-06 06:45:08

+0

@isim NO其實它是我的錯誤,它應該像'sub_type'字段'id','sub_item_type','sub_item_name' ,'item_name','add_price' – 2014-09-06 06:46:51

回答

0

沒有嘗試過複雜的事情,在我看來,訂單應去到一個單獨的order表你剛纔即order_iditem_namesub_item_nametotal_price指定的字段。在sub_item_name字段中,每行可以包含多個以逗號分隔的項目。 (您可以使用PHP代碼輕鬆構建這些代碼)。該main_menusub_menusub_type表應該用於當前菜單和附加選項的客戶。無需將menu表與order表連接起來。

有了這個模式,你將只進行一次每個訂單插入。向廚房工作人員提交相同的訂單,而無需加入或分組任何其他表格。

這項工作?

+0

我我正在做一些類似你所建議的@isim ..我有一個單獨的「訂單」表,我做'插入'數據到表中,但此刻如果用戶選擇3額外的比我必須運行插入查詢3次,並在顯示時,我只是此刻顯示所有行...我不知道如何用php中的逗號分隔它...我的'訂單'表是\t 'id','sub_item_type','sub_item_name','item_name','total_price '現在就這樣 – 2014-09-06 07:40:17

+0

@MikeRoss extras是否存儲在一個數組中?如果是,您可以使用PHP [implode](http://php.net/manual/en/function.implode.php)函數將數組轉換爲使用逗號作爲分隔符的字符串。 – 2014-09-06 07:43:36

相關問題