您的位置:首页 > Web前端

数据库用一个int类型的字段保存前端多个字段(该字段为多选)

2017-01-21 18:17 393 查看
现象:一般我们都是前端多少个字段,数据库就保存多少个字段,

     例如,填写爱好(多选):1、打篮球   2、踢足球    3、打台球

数据库有两种方法保存:1,添加一个字段hobby:1,2,3

                                        2,新增一张表保存所有值:uid  bobby_id

                                                                                       1    1

                                                                                       1    2

                                                                                       1    3

新的方法:

保存到数据库时:

$map = array(
'打篮球' => 1,
'踢足球' => 2,
'打台球' => 4
);
$hobby = '';foreach($js_hobby as $val){ $hobby |= $map[$val];}

读取数据库时:

$js_hobby = [];
foreach($map as $key => $val){
if($val & $hobby){
$js_hobby[] = $key;
}
}

解读:利用或运算实现多变一,保存数据;利用与运算实现一变多,读取数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐