数据库存入复选框数据

需要将表单中复选框的值存入数据库中,一般来说有以下几种方法。
例:喜欢的运动

篮球
足球
羽毛球
使用字符串存储
篮球为1,足球为2,羽毛球为3
喜欢篮球和足球,则在数据库中存1,2
优点:简单易懂
缺点:不利于高级的数据统计,比如统计喜欢篮球的人有哪些

使用位运算
篮球=2 足球=4 羽毛球=8
数据库中存选中的选项之和,选中篮球、足球,则存2+4=6
取数据时,将存放的结果和所有数字做位运算,结果>0则选中,<=0则未选中。
例:想知道篮球有没有被选中,用2和6做与运算,0010&0110=0010>0,则选中篮球
8和6做与运算,1000&0110=0,则未选中羽毛球
https://6318343.iteye.com/blog/2220659
优点:存放方便,节省空间,代码简洁
缺点:数据需要计算,不清晰,有沟通成本,同样也无法进行高级统计

新建数据表
新建一个运动表,表结构为用户ID、喜欢的运动,如果用户喜欢篮球和足球,就存放两条数据,查询时一起查出来。
优点:表结构清晰,适合存放复杂的内容,可以做高级统计
缺点:需要重新建表,做关联查询,比较麻烦

发布了71 篇原创文章 · 获赞 14 · 访问量 5612

猜你喜欢

转载自blog.csdn.net/flying_hengfei/article/details/103078835