当前位置:首页 > 开发 > 研发管理 > 正文

复选框在数据库中存储的新思路

发表于: 2015-06-18   作者:Jack_吴凡   来源:转载   浏览:
摘要: 经常会遇见这么一个情况,需求中有: 爱好: 篮球 ☑ 足球 ☑ 羽毛球 ☑   在数据库中,你可以区分为三列,分别是篮球、足球、羽毛球,值就存trueORfalse   今天提供一个新的思路给大家,   篮球=2 足球=4 羽毛球=8 数据库中存选中的选项的值的和。   如我选择了篮球、足球,则值的和为:6 &nbs

经常会遇见这么一个情况,需求中有:

爱好: 篮球 ☑ 足球 ☑ 羽毛球 ☑

 

在数据库中,你可以区分为三列,分别是篮球、足球、羽毛球,值就存trueORfalse

 

今天提供一个新的思路给大家,

 

篮球=2 足球=4 羽毛球=8

数据库中存选中的选项的值的和。

 

如我选择了篮球、足球,则值的和为:6

 

然后再次编辑的时候,只要拿6分别和选项做与运算, 结果大于0则说明选择了,等于0则说明未选择。

 

原理解析:

其实很简单,就是最常用的与运算,

比如羽毛球, 8 换算为二进制为:1000, 6换算为二进制为:0110。

 

 1 0 0 0      

———— =  0000

 0 1 1 0

 

而 2的二进制为 0010

 

 0 0 1 0      

———— =  0010 = 十进制的2 > 0

 0 1 1 0

 

总结:

优点在于减少了很多代码量,很灵巧的解决了问题。

缺点在于数据库中的值,不能清晰的显示出用户选择了什么。

大家根据自己的需求,可以继续完善算法,我这里只是提供一个小思路。

 

 

复选框在数据库中存储的新思路

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
大家应该都知道jscalendar这个日期选择框吧。 当在yui-ext中的dialog使用时,大家应该会想到会发生什
大家应该都知道jscalendar这个日期选择框吧。 当在yui-ext中的dialog使用时,大家应该会想到会发生什
JQuery有不少弹出框的插件,boxy应该算的上是功能和效果都还不错的一款了。先来看一张效果图吧。 在
树形结构的数据在项目开发中比较常见,比如比较典型的是论坛主题留言。 每一个主题(节点)可以有n
树形结构的数据在项目开发中比较常见,比如比较典型的是论坛主题留言。 每一个主题(节点)可以有n
树形结构的数据在项目开发中比较常见,比如比较典型的是论坛主题留言。 每一个主题(节点)可以有n
上篇博客中所说的对于表操作的几种限制少分析了触发器。这次从对表设计的角度来着重分析约束和触发
原文: SSIS: 把存储在数据库中的图片导出来 Data Flow Task Step 1 获取二进制图片数据 declare @pat
Data Flow Task Step 1 获取二进制图片数据 declare @path varchar(100)='C:\labs\Images\' SELECT
数据库操作:   数据库设计如下:   创建存储过程addinfotouser,功能:实现数据的添加:  1 -
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号