checkbox多选时,数据库保存结果的新思路

android checkbox多选删除 这篇文章并没有完整的源代码说明,只是提供一下使用checkbox多选删除的思路,毕竟要提供所有的代码非常之麻烦,在自己的项目中还涉及到数据库的操作,所以只是说明一下实现方法。 首先是在listview_item.xml文件中 阅读详情

开发时遇到个需要存储checkbox 数据,目前选项最多包含11个可选。如果是我之前的思路,就直接在MySQL里面存上所选中的数据标识,以“,”分隔即可。
今天项目经理说了一个新思路,虽然我觉得并不怎么合适,但是当前项目上使用了,在此记录一下。

思路

前端仍然返回选项对应标识,即“1”,“2”,“3”……

  1. 对应标识数字存储转换为二进制的表达形式α,但非转换为二进制
    即:
    “1”→“0000000001”,
    “2”→“0000000010”,
    “3”→“0000000100”,
    “4”→“0000001000”,
    “5”→“0000010000”,
    “6”→“0000100000”,
    “7”→“0001000000”,
    “8”→“0010000000”,
    “9”→“0100000000”
  2. 二进制表达式转为十进制β
    即:
    “0000000001”→“1”,
    “0000000010”→“2”,
    “0000000100”→“4”,
    “0000001000”→“8”,
    “0000010000”→“16”,
    “0000100000”→“32”,
    “0001000000”→“64”,
    “0010000000”→“128”,
    “0100000000”→“256”
  3. 当用户选择某项时,前端出来“1”,“5”,“6”等具体选项时,遍历这些选项,取选项数字对应的β数据取异或。
    例:
    0^1 → 1
    1^5 → 17
    17^6 → 49
  4. 最终结果转换为二进制(这次真的是十进制转二进制)
    49 → 110001

把最终110001保存到数据库中。当前项目在返回时也直接返回110001给前端页面。用户直接看110001。

总结:

  1. 转换过程繁琐,但只是不好理解而已,写完一遍以后也不怎么管。
  2. 结果集返回一个二进制的表达形式,个人觉得对用户体验很不友好。虽然当前项目面向的是专业人员,但我认为系统需要向傻瓜式操作来开发。直接在数据库中存储标识,前端展示时格式化为数据字典中checkbox对应的汉字更直观。
  3. 该思路异或处理是关键,半路出家的Javaer还没用过异或^ (惭愧~)
  4. 项目需求什么就写什么。

代码实现

package test;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Theo
 * @date 2021/8/17
 */
public class Test {

    public static void main(String[] args) {
        //list为模拟前端给传递来的选项
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(5);
        list.add(6);
        c(list);
    }

    private static void c(List<Integer> list){
        int[] numarry = b();
        int aim = 0;
        for(Integer i:list){
            System.out.println("@@@@@@@");
            System.out.println(aim);
            System.out.println(i);
            aim = aim ^ numarry[i-1];
            System.out.println(aim);
        }
        System.out.println("结果:"+Integer.toBinaryString(aim));
    }

    /**
     * 前端存储标识对应的二进制形式α结果集
     * @return
     */
    private static List<String> a(){
        List<String> mainList = new ArrayList<>();
        mainList.add("0000000000000001");
        mainList.add("0000000000000010");
        mainList.add("0000000000000100");
        mainList.add("0000000000001000");
        mainList.add("0000000000010000");
        mainList.add("0000000000100000");
        mainList.add("0000000001000000");
        mainList.add("0000000010000000");
        mainList.add("0000000100000000");
        mainList.add("0000001000000000");
        mainList.add("0000010000000000");
        return mainList;
    }

    /**
     * 二进制形式α的转换为十进制β结果集
     * @return
     */
    private static int[] b(){
        List<String> list = a();
        int[] numarry = new int[list.size()];
        for(int i=0;i<list.size();i++){
            Integer x = Integer.parseInt(list.get(i),2);
            System.out.println(x);
            numarry[i]=x;
        }
        return numarry;
    }
}

打印结果

1
2
4
8
16
32
64
128
256
512
1024
@@@@@@@
0
1
1
@@@@@@@
1
5
17
@@@@@@@
17
6
49
@@@@@@@
49
9
305
结果:100110001

laravel-admin 实现select多选并存入数据库的爬坑问题 官网:http://laravel-admin.org/docs/zh/model-form-fields //出的问题自己记录一哈,以免以后忘记,有不对的地方请大家多多指教THX// 数据源是律师擅长案件的所有分类,在添加一个律师时需要选择多个擅长案件分类,我选择的是多选下拉菜单(用复选框也可以)如下图: 表单中使用,代码如下: $data=Lawskillclassify::all(... 阅读详情

相关推荐

ASP.NET实现多选,全选,反选,批量删除,且带有删除确认对话框

这个暑假开始着手老师给的一个ASP.NET的项目。以下是关于ASP.NET后台数据库方面处理的某些细节。这里所用的数据库是ACCESS数据库。           1.首先是多选的实现。           添加控件GridView,绑定好数据源等操作。这里具体不多说。          实现多选所要用到的是TemplatedField和checkBox。具体在.aspx页面添加代码如下,具

narcissistic_man的专栏 1950

论如何将复选框中的信息存储到数据库中

例如这样的复选框 一般字段名设置成数组形式,而MySQL数据库中为字符型,这就需要将数组组合成字符串。 &lt;tr bgcolor="#FFCC33"&gt; &lt;td height="25" align="right"&gt;爱好:&lt;/td&gt; &lt;td height="25" align="left&qu

ling的博客 1万+

实现Android ListView中Checkbox的多选、反选与取消功能

在Android开发中,ListView是一种常用的数据展示组件。适配器(Adapter)作为数据和视图之间的桥梁,起到关键作用。它负责将数据源中的信息以统一的格式展示在ListView中,使得大量数据的展示变得高效且易于管理。一个良好的适配器设计,可以提高应用的可维护性和用户界面的响应速度。首先,你需要继承BaseAdapter或其子类,并实现必要的方法:getCount()和。之后,根据数据源填充每个Item的视图,并处理数据的绑定。最后,适配器通过调用ListView的。

weixin_36204513的博客 920

checkbox/select与v-model:将选择的内容存储到列表中

绑定复选框与contentType: <label v-for="c in blob.ctType" v-bind:key="c" > <input type="checkbox" name="ctType" :value="c" v-model="contentType"><label>{{c}}</label> </label> 看一眼contentType,初始是个空列表: data(){ return { blob

安之ccy的博客 532

在.NET DataGrid中实现多选、单选和全选的CheckBox功能

DataGrid控件是许多现代应用程序中不可或缺的一部分,特别是当需要向用户提供复杂信息展示时。一个典型的DataGrid控件包括列(Columns)、行(Rows)和单元格(Cells),并且具备排序、筛选和分页等基础功能。理解DataGrid的结构是有效使用它进行数据展示和管理的关键。MVVM(Model-View-ViewModel)是一种软件架构模式,它将应用程序分为三个主要部分:Model、View和ViewModel。

weixin_36001279的博客 1362

手把手教你用GD32F407VET6的EXMC驱动外部SRAM,搞定大内存需求

本文详细介绍了如何使用GD32F407VET6的EXMC外设驱动外部SRAM,解决嵌入式开发中的大内存需求问题。通过硬件连接方案、EXMC时序配置与初始化步骤,以及软件集成与内存管理技巧,帮助开发者快速实现内存扩展。特别适合需要处理图形显示缓冲、音频处理等大内存场景的GD32F407开发者。

weixin_30752699的博客 346

关于复选框的值以二进制形式存储的方法介绍

业务场景 同一字段有多个枚举值且要支持复选的情况。例如:充电线接口类型有USB、Type-C、Lightning这三种类型,现在有多款充电线产品,有单接口的,有双接口的,也有三合一。则对于产品支持接口类型这一属性该怎么存储呢。 常用方法 常用方法: 将三种类型对应枚举值1 USB、2 Type-C、3 Lightning,然后再库中存储以特定字符分割的枚举值串,如三合一充电线会存储1,2,3。 2、创建一个属性表,该表将一个产品的一个接口类型作为一条数据(主键id,产品id,属性枚举值),如三合一充电线

qq_38933351的博客 767

麒麟V10系统下微信PC版安装全攻略:从源配置到一键安装(附常见问题解决)

本文详细介绍了在麒麟V10系统下安装和优化微信PC版的完整流程,包括系统环境准备、软件源配置、多途径安装方案以及性能优化技巧。特别针对国产操作系统用户,提供了从基础安装到高级配置的一站式解决方案,并附有常见问题排查方法,帮助用户快速实现微信PC版的高效运行。

weixin_30500105的博客 714

cxgrid checkbox 列选择列 多选

关于cxgrid新增加一列checkbox的解决方法 anz130 2010-07-13 13:55:00 2682 收藏 分类专栏: delphi 文章标签: 数据库 版权 之前也遇到过这样的问题,cxgrid中要求加一列以实现选一行或者几行数据,可以进行相应的操作,想法是添加一列和数据库没有关系的,问题是添加的checkbox属性的列只能选择一行,今天终于找到了问题所在,原来不仅在cxgrid里需要设置datacontroller的keyfieldnames也就是更联表的唯一字段,而且要把datam

a200332的博客 1472

redhawk-sc(seascape)学习日志2

design view是主view,是所有seascape view中最root的部分,一个design view可以驱动多种类型分析比如静态IR drop,动态IR drop以及EM.这些分析可以在不同的PVT和翻转率下.Design view是一个必须的view对于redhawk中的任何类型分析来说。seascape view相当于一个容器,用于保存各种和设计相关的数据,类似于逻辑信息、物理信息等等,每个view都有其对应的输入件和依赖,这些view都是redhawk用于各种类型的分析所需。

qq_39493558的博客 3497

智能座舱语音测试避坑指南:从唤醒率到方言识别,这些场景你测全了吗?

本文深入解析智能座舱语音测试的关键场景与避坑指南,涵盖唤醒率测试、方言识别、多音区交互等复杂场景。通过实战案例与自动化测试方案,帮助开发者全面提升语音系统的可靠性与用户体验,特别关注环境噪声干扰与方言覆盖策略。

weixin_42613501的博客 496

ListView中嵌套checkbox实现多选

我现在要实现一个多选的ListView,当选择ListView中的checkbox的时候,可以将选中的多个checkbox所代表的值保存到数据库中!哪位高手做过类似的东西,给小弟指教指教,十分感谢! 这个你可以做一个链表,把点击过的id纪录下来,就可以实现了 用一个数组存放你

师以长技以制夷 1612

基于matlab的CNN验证码识别系统(UI界面版)

基于matlab的CNN验证码识别系统(UI界面版),CNN验证码识别系统包括数据集处理、模型搭建、模型训练、界面设计与实现

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 481

jQuery实现checkbox多选,单选与数据库交互传值,赋值整理

获取被选中的CheckBox值传入数据库,反之,从数据库获取值让对应的CheckBox被选中 &amp;amp;amp;amp;lt;div class=&amp;amp;amp;quot;form-group&amp;amp;amp;quot;&amp;amp;amp;amp;gt; &amp;amp;amp;amp;lt;label class=&amp;amp;amp;quot;col-sm-3 control-label&amp;a

灵活大胖子HDG 的博客 5412

LeRobot 入门教程(五)异步推理

本文介绍了基于SmolVLA的异步推理技术在机器人控制中的应用。通过将动作预测与执行解耦,异步推理消除了传统同步推理中的等待延迟,使机器人行为更加流畅。文章详细讲解了如何安装依赖、启动策略服务器和机器人客户端,并重点说明了关键参数actions_per_chunk和chunk_size_threshold的调整方法。实验表明,异步推理能显著提升机器人响应速度,特别适合大规模模型应用。最后,文章建议用户根据具体硬件和任务需求优化参数配置,以获得最佳性能。

2506_90492529的博客 1643

PyTorch深度学习实战(25)——从零开始实现Mask R-CNN实例分割

Mask R-CNN 是一种在目标检测任务中引入了语义分割的强大框架,通过在 Faster R-CNN 基础上进行扩展,添加了额外的分支网络,不仅可以准确地检测对象的位置和类别,还可以生成每个实例的精确像素级别的语义分割掩码。其模块化的设计可以轻松地应用于不同的任务和数据集,并且可以通过添加更多的分支进行功能扩展,如实例关键点检测等。

盼小辉丶的博客 1万+

基于ListView和CheckBox实现多选和全选记录的功能

应用开发中经常会有从数据库中读取数据显示,然后选中多条、全部记录并且删除的需求。在做定制系统联系人的时候也遇到这样的需求,下面写个简单的通过ListView和CheckBox实现多选、全选的例子。下面是具体的代码,有问题请留言。代码下载地址:MultiSelect.rar   MultiSelectActivity [java] view plaincopy

逍遥飞鹤的专栏 1077

《QGIS快速入门与应用基础》【专栏完整目录】

《QGIS快速入门与应用基础》第一卷专栏完整目录,覆盖 001–328 全部篇目与附录,逐篇可跳转。

LuckyHanMo的博客 1299

android listview checkbox 记录,android基于ListView和CheckBox实现多选和全选记录的功能...

应用开发中经常会有从数据库中读取数据显示,然后选中多条、全部记录并且删除的需求。在做定制系统联系人的时候也遇到这样的需求,下面写个简单的通过listview和checkbox实现多选、全选的例子。下面是具体的代码.效果如下:multiselectactivity/*** multiselectactivity*/public class multiselectactivity extends ac...

weixin_36254564的博客 385

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

WPF中,Combobox下拉框有CheckBox(单选,或多选)

WPF中,Combobox下拉框需要带有CheckBox勾选框,且需要根据项目不同要求,支持单选或多选功能。

qq_40572871的博客 3085

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PHP中在数据库中保存Checkbox数据(1)

在数据库中保存Checkbox数据(1) 介绍  checkbox是一个非常有用的页面表单项,在让用户进行多重选择的情况下,它甚至可以允许用户选择全部项目或是一个都不选。但是,尽管这是一个非常优秀的表单元素,但在我们的工作中,在如何正确地保存选择项这方面总存在一些易混淆的情况发生。本文将描述在遵循好的数据库设计原则的方法下,如何把 checkbox选择项正确地保存在数据库中。

翔一的垃圾桶 1683

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

CheckBox多选查询

实现思路主要依托了sql server 的IN函数 IN 操作符允许我们在 WHERE 子句中规定多个值。比and方便得多 准备测试数据 use master go if exists(select 'x' from sys.databases where name='checkbox') drop database checkbox go create database checkbox g...

是夜的博客 888

html checkbox mysql_判断checkbox在mysql表保存数据(高分)

你好,请您帮忙解决以下三点问题,谢谢!50分就归你了。小试牛刀的不会的请勿扰,谢谢!1、判断语句(在里面加入判断checkbox是否被选中和至少选择一项超过三个就禁止选择):你好,请您帮忙解决以下三点问题,谢谢!50分就归你了。小试牛刀的不会的请勿扰,谢谢!1、判断语句(在里面加入判断checkbox是否被选中和至少选择一项超过三个就禁止选择):2、名称:奖品1奖品2奖品3奖品4职 业 :/&gt...

weixin_40000999的博客 199

ASPxGridView CheckBox

本篇介绍:ASPxGridView 结合CheckBox实现多选 ,实质跟gridview是一样的:遍历ASPxGridView 找到每行的CheckBox,让后做处理。不过ASPxGridView 在遍历的时候有很多地方和gridview是不同的,对于和我一样对ASPxGridView 不熟悉的人来说,要花很多的时间去找和适的属性。    其实ASPxGridView 官方也提供了实现全选的例子

大尾巴狼专栏 5917
上一篇: springboot 启动报错
下一篇: springboot 添加jsp
Theo7Zhao
博客等级 码龄10年 13粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值