1.后端设计1 diy_field_pool 字段池(我们定义好的字段类型)diy_fORM 表单表(记录用户自定义的表单)diy_form_field 表单字段表(记录某张表单中有哪些字段)diy
diy_field_pool 字段池(我们定义好的字段类型)diy_fORM 表单表(记录用户自定义的表单)diy_form_field 表单字段表(记录某张表单中有哪些字段)diy_form_entity 表单实例表(记录某张表单中的某条数据实例)diy_form_data 表单数据表(记录某张表单在某条实例下,哪些字段对应的数据)
系统初始化字段池
我们提供一批预定义的字段类型,初始化数据到diy_field_pool表中,用户也能自己定义自己的字段池。
用户创建自定义表单
用户通过选用字段池(diy_field_pool表)中提供的字段,创建一张自定义表单,表单的属性信息记录在diy_form表中,表单包含的字段(从字段池中选好的字段)记录在diy_form_field表中。这样用户就创建了一张自定义表单。
用户填写表单
用户使用创建好的表单填写数据,每新增一条数据,在diy_form_entity表就会新增一条记录,该表单中有几个field,就会同时在diy_form_data表中新增几条 data 数据。数据结构关系如下图所示:
//1.CREATE TABLE `diy_field_pool` ( `id` bigint(20) NOT NULL COMMENT '主键id', `field_type` varchar(32) NOT NULL COMMENT '字段类型', `field_type_name` varchar(32) NOT NULL COMMENT '字段类型名称' PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='字段池';//2.CREATE TABLE `diy_form` ( `id` bigint(20) NOT NULL COMMENT '主键id', `form_code` varchar(32) NOT NULL COMMENT '表单code', `form_name` varchar(32) NOT NULL COMMENT '表单名称' PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='表单表';//3.CREATE TABLE `diy_form_data` ( `id` bigint(20) NOT NULL COMMENT '主键id', `form_id` bigint(20) NOT NULL COMMENT 'diy_form表id', `entity_id` bigint(20) NOT NULL COMMENT 'diy_form_entity表id', `field_id` bigint(20) NOT NULL COMMENT 'diy_form_field表id', `value` varchar(512) NOT NULL COMMENT '数据值' PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='表单数据表';//4.CREATE TABLE `diy_form_entity` ( `id` bigint(20) NOT NULL COMMENT '主键id', `form_id` bigint(20) NOT NULL COMMENT 'diy_form表id', `entity_code` varchar(32) NOT NULL COMMENT '实例code', `entity_name` varchar(32) NOT NULL COMMENT '实例名称' PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='表单实例表';//5.CREATE TABLE `diy_form_field` ( `id` bigint(20) NOT NULL COMMENT '主键id', `form_id` bigint(20) NOT NULL COMMENT 'diy_form表id', `field_pool_id` bigint(20) NOT NULL COMMENT 'diy_field_pool表id', `form_field_code` varchar(32) NOT NULL COMMENT '表单code', `form_field_name` varchar(32) NOT NULL COMMENT '表单名称' PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='表单字段表';
// 1.分页查询sqlSELECT li.id,dff.form_field_code,dff.form_field_name,dfd.`value` FROM (SELECT dfe.id, dfe.entity_code FROM diy_form df LEFT JOIN diy_form_entity dfe ON dfe.form_id = df.idWHERE df.form_code='product_info'LIMIT 0,1) liLEFT JOIN diy_form_data dfd ON li.id = dfd.entity_idLEFT JOIN diy_form_field dff ON dfd.field_id=dff.id
来源地址:https://blog.csdn.net/qq_41466440/article/details/129447452
--结束END--
本文标题: 【自定义表单】自定义表单设计
本文链接: https://www.lsjlt.com/news/377297.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-21
2024-05-21
2024-05-21
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0