2014年11月26日 星期三

讓學生有感的第一個資料庫應用範例 - 訂便當(三)

上午10:02 Posted by Envisioning U-Commerce Lab

同樣還是觀摩提供訂便當服務的「悟饕池上飯包」有哪些表單欄位,然後在Ragicd著手定義一個訂便當工作表的各個欄位。在這次的欄位定義與表單設計過程中,我們將更注意一些欄位格式輸入型態設定的細節。


一、增加新工作表時,這次設定為"外部問卷":


二、"訂購日期"的型態不是日期喔,而是訂為自動產生,而且格式是 {1,date,yyyy}/{1,date,MM}/{1,date,dd} :(這些格式的意義請參閱自動產生欄位值的說明文件)


三、"送達時間"的型態是從選單選擇,並且自訂可外送之時:


四、讓顧客能選的外送時間不必很精準,只需指定整點或半點,所以這個欄位的選項只有兩個:


五、"訂單編號"當然是設定為自動產生,而我們還在左下角勾選以條碼顯示:


六、"送達地址"的輸入框要長一點,所以有增加跨欄數:


七、"聯絡人電話"的輸入有設定是否符合台灣行動電話號碼的格式,而且也是輸入框有增加跨欄數:





至此完成的僅是訂便當的基本資料欄位,接下來的重點則是開始能讓顧客填寫要訂購的便當種類及數量,這方面的設定在Ragic這個平台稱之為建立子表格,這在其他資料庫系統則是需建立另一個關聯資料表來輸入資料。在一張訂單裡的訂購應該可以有多項便當種類與數量,所以這些記錄相對於這張訂單資料表是一對多的關係。


一、建立子表格的操作非常簡單,就是在新增欄位時將位置放在緊鄰著前一個欄位的右邊格子,一路這樣新增欄位,Ragic就會將這些欄位的組成視為一個子表格(如下圖的下方紅框)。這些子表格的欄位型態先都保持為自由輸入、金額、數字等基本資料型態即可,但這部分不應該由顧客打字輸入,而是應該用挑選的,所以要設定子表格的欄位是關聯到哪些連結&載入欄位:
p.s. 後來改成第一個欄位是便當名稱、第二欄位才是便當代號,這是為了讓顧客選擇便當時是看名稱來選(而不是看代號做選擇)。



二、讓顧客選擇便當代號,然後便當名稱、價格、菜色介紹就要都能連結自菜單資料表來載入相對欄位的內容,就要做下列設定:
p.s. 如前一步驟紅字做法(便當代號與便當名稱兩欄位置互調),則這邊設定連結的兩條線就會交叉,但試過好幾次明明設定交叉了卻又變成便當名稱連結到便當代號,這樣在輸入時還是只能看到代號而非名稱。後來試成功的操作方式,就是第一次只設定便當名稱、價格、介紹這三個欄位(也就是便當代號先不做連結設定),儲存並測試看看訂單操作是否確實出現的是以便當名稱來選擇,沒問題就再一次回到這個畫面補做便當代號的連結設定,這樣分兩次操作就OK。(Ragic官網提到其他連結&載入的使用方法也是要注意喔!)



三、完成上述設定後,至少挑便當代號或便當名稱其中一個欄位將其輸入型態設定從其他表單選擇(連結的工作表是菜單資料表),如此在該欄位的輸入操作方式就會跳出視窗讓顧客用選的:
p.s. 記得喔,後來改成是以便當名稱來做選擇的。


四、要記得將便當名稱、價格、菜色介紹、小計、總計這些欄位都設定成唯讀,因為前三個欄位資料要連結自菜單資料表來載入相對內容,而後兩個欄位則是應該設定公式自動計算,所以這些欄位都不應該給顧客更動內容。
p.s. 嚴格來說,不該把菜色介紹這個欄位納入訂單,因為會造成訂單記錄有太多無謂的文字資料儲存。


五、這個例子的小計公式是C14*D14:


六、總計的公式是E14:


最後將上述設定儲存,可以訂便當的表單也已經完成,直接新增訂單試試看:


如何讓別人也看到表單?因為我們一開始就將這個訂便當資料表的存取權限設定為"外部問卷",若直接開啟在Ragic平台上的這個表單頁面,或將其HTML碼嵌入像這個連結頁面,就能讓顧客透過網路來訂便當囉!