作者:
JYHuang (夏天到了,冷不起來了說)
2014-08-30 08:29:18網頁上不管是checkbox或是multi-select,要將所選的值存入資料庫。
目前想到的方式有兩種
一種是在資料庫開個表存主鍵和值。
一個是用php的serialize(或是implode)轉成字串存在欄位。
前者比較直覺,SQL搜尋也比較容易(用WHERE `field` IN (A,B) 就好)
不過如果有一堆選項的話要開一堆表(或單一表用鍵值隔開)
在用POST更新時 除非是一次全部洗掉重加
也需要判斷(存在的取消,不在的新增)之類的情類的。
後者比較省資料庫的空間
不過搜尋跟比對上比較麻煩(要用 `field` like A or `field` like B
單筆更新的話也是整欄要洗掉重丟值
取值時則是要先判斷是否能夠unserialize.
除了這兩種方式外
不知各位還有什麼樣的作法?
用enum,set?
其實還是有點不清楚SET屬性欄位如何作複數值的條件搜尋