我有一個表格填寫哪個有幾個輸入文件和20個複選框我的問題是如何組織mysql中選中的複選框的記錄和什麼是使用php搜索它們的最佳方式。你可以給我一個例子嗎?在MySQL中存儲數據
回答
您可以使用單個BIGINT字段,讓每一位代表屬性的特徵之一。
比方說,你定義的屬性如下
1 = furnished (000001b)
2 = with garage (000010b)
4 = new construction (000100b)
8 = ... (001000b)
16 = ..... (010000b)
因此,如果該字段的第一位是1,這意味着該屬性配,如果第3位是1,那麼它是一個新的建設等上。
您使用位運算符來檢查每一個特徵,即
SELECT * FROM property WHERE characterization & 2
將車庫返回的屬性。同樣
SELECT * FROM property WHERE characterization & 5
將返回是新建築,並且還配備(嗯..嗯,你的想法:-))性能。
請記住,BIGINT是64位,因此在同一字段中不能有超過64個不同的表徵。
如果它們不在不同的組中,但有很多選項,那麼你可以將它們存儲爲一個字符串,如| option1:yes | option2:no | ....你可以很容易地查詢不同的選項,如WHERE選項LIKE' %| option1:yes |%',或類似的東西。
MySQL是一個關係數據庫,爲什麼要存儲所有這些字符串?
什麼是這樣的:
假設您的複選框被水平放置。所以在數據庫中對待它們相當直觀。假設你的表格是這樣的:
你喜歡什麼樣的食物(多個答案可能)?
ØØ比薩麪食ØØ壽司沙拉
假設有人喜歡一切,但Sushi.Someone人可能只喜歡壽司
所以在數據庫中的結果表可能看起來像:
id(PK) user question col answer
1 someone 1 1 1
2 someone 1 2 1
3 someone 1 3 0
4 someone 1 4 1
5 someoneelse 1 3 1
答案是某些標記在檢查框時爲1,如果不是,則爲0。
我只是在猜測你的意思是不是每個人都這麼做,所以如果你想更精確一點,或許我可以給出更好的答案。
+1:一種可行,高效和可擴展的方法 – symcbean 2010-10-29 09:13:11
- 1. 存儲在MySQL數據庫
- 2. 將mysql數據存儲在數組中
- 3. 將mysql數據存儲在數組中
- 4. 使用sails.js在mysql中存儲數據
- 5. 在MySQL數據庫中存儲枚舉
- 6. 圖像存儲在mysql數據庫中
- 7. PHP和MySQL在數據庫中存儲
- 8. 在MySQL中存儲日曆數據
- 9. 將數據存儲在mysql中
- 10. 在mysql數據庫中存儲php datetime
- 11. 在mysql中存儲二進制數據
- 12. 在MySQL中存儲「不規則」數據
- 13. 將JSON數據存儲在MySQL表中
- 14. 在MySQL數據庫中存儲JSON?
- 15. 在MySQL中存儲大量數據?
- 16. 將PDF存儲在MySQL數據庫中
- 17. 在JSON vs MYSQL中存儲數據
- 18. 將SQL存儲在MySQL數據庫中
- 19. 壓縮存儲在mysql中的數據
- 20. 在MySQL數據庫中存儲CSS
- 21. 存儲在MySQL數據庫中的BLOB
- 22. 幫助將數據存儲在mysql中
- 23. 解析xml在mysql中存儲數據
- 24. 使用MySQL和PHP將數據存儲在MySQL數據庫中
- 25. 從本地存儲mysql存儲數據
- 26. 在MySQL數據庫中緩存/存儲twitter API數據
- 27. 在MySQL中存儲數組?
- 28. MySQL幫助存儲數據
- 29. 將數據存儲到mysql
- 30. MySQL數據存儲問題
更多詳情。通常會選擇多少個這些複選框?你需要他們什麼?他們是否以任何方式與其他輸入字段相關?表格中會存儲多少條記錄? – joni 2010-10-29 07:41:50
你能提供更多的細節嗎?複選框是否動態?也就是說,表單本身來自數據庫? – Nigel 2010-10-29 07:44:02
可以_you_給你一個你想要做的代碼的例子嗎? – lbedogni 2010-10-29 07:44:57