数据库存入复选框数据

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

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

  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
    优点:存放方便,节省空间,代码简洁
    缺点:数据需要计算,不清晰,有沟通成本,同样也无法进行高级统计

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值