当前位置: 首页 > news >正文

网站生成海报功能怎么做的用h5做网站是什么意思

网站生成海报功能怎么做的,用h5做网站是什么意思,如何做直播类网站,室内设计培训班学费一般多少水善利万物而不争,处众人之所恶,故几于道💦 文章目录 需求1.分析2.实现3.思路刨析表结构和数据 需求 数据库中有个字段如下 如何将其转换为如下形式: 1.分析 1.他的层级个数是不确定的,也就是说有的有2层有的有5…

水善利万物而不争,处众人之所恶,故几于道💦

文章目录

      • 需求
      • 1.分析
      • 2.实现
      • 3.思路刨析
      • 表结构和数据

需求

数据库中有个字段如下
在这里插入图片描述

如何将其转换为如下形式:
在这里插入图片描述

1.分析

1.他的层级个数是不确定的,也就是说有的有2层有的有5层;

2.而且还有可能有同一层有重复的,或者是不同层相同元素有不同的父类,简单来说就是一对多的关系,比如大同市可能在山西省下面有个大同市,我在青岛市下面也有个大同市,还有子类和父类一样的。如下图
在这里插入图片描述

2.实现

废话不多说直接上结果,表名叫province,字段名叫area

with t1 as(selectdistinct substring_index(substring_index(area,'-',help_topic_id+1),'-',-1) areafrom province,mysql.help_topicwhere help_topic_id<=length(area)-length(replace(area,'-',''))
)  , t2 as(select row_number() over() id,areafrom t1
) , t3 as(selectsubstring_index(area,'-',1) p1,if(substring_index(substring_index(area,'-',1),'-',-1)=substring_index(substring_index(area,'-',2),'-',-1),NULL,substring_index(substring_index(area,'-',2),'-',-1)) p2,if(substring_index(substring_index(area,'-',2),'-',-1)=substring_index(substring_index(area,'-',3),'-',-1),NULL,substring_index(substring_index(area,'-',3),'-',-1)) p3,if(substring_index(substring_index(area,'-',3),'-',-1)=substring_index(substring_index(area,'-',4),'-',-1),NULL,substring_index(substring_index(area,'-',4),'-',-1)) p4,if(substring_index(substring_index(area,'-',4),'-',-1)=substring_index(substring_index(area,'-',5),'-',-1),NULL,substring_index(substring_index(area,'-',5),'-',-1)) p5from province
) , t4 as(select p2 area,id pid from t3 inner join t2 on t2.area=t3.p1 where p2 is not nullunionselect p3 area,id pid from t3 inner join t2 on t2.area=t3.p2 where p3 is not nullunion select p4 area,id pid from t3 inner join t2 on t2.area=t3.p3 where p4 is not nullunionselect p5 area,id pid from t3 inner join t2 on t2.area=t3.p3 where p5 is not nullunionselect p1 area,NULL pid from t3 inner join t2 on t2.area=t3.p1 where p1 is not null
)
selectt2.area,t2.id,t4.pid
from t4 inner join t2 on t2.area=t4.area

3.思路刨析

第一步:我们需要拿到如下结果,为每个元素生成一个id做准备
在这里插入图片描述
第二步:为每个元素生成一个id,我这里直接用行号了
在这里插入图片描述
第三步:每个元素有行号还不行,还必须有它的层级关系,因此需要拆分层级,我这里方法感觉不是很好,需要手动写最大的层数,(也尝试着用CTE循环去写了,但是没写出来😢有会写的哥们可以放在评论区交流一下,或者解决这个问题的其他巧妙方法也可以😁)
在这里插入图片描述
这里有人会有疑问,这个层级拆开后和原来的层级关系对不上,少了一部分重复的
在这里插入图片描述
这是因为这个需求不需要重复的,而且重复的元素本来就有pid了,再加一条是它自己也不合理,因此才用判断去掉了。

第四步:经过第二步和第三步,我们已经得到了最重要的两张临时表了,因此这步开始就可以取pid了,我的思路是父类和id表关联,父类的id就是子类的pid,所以这部分的结果会得出所有元素的pid
在这里插入图片描述
第五步:得出所有元素的pid后只需要和t2表关联再取出id就可以了,最终就得到了我们想要的结果。
在这里插入图片描述
如果你有更好的方法来解决这个问题或者对我的方法有优化结果的,可以放在评论区,互相交流一下,浇个朋友😁 我会认真查看的!!!
其中一棵树展开效果是这样的
在这里插入图片描述

表结构和数据

/*Navicat Premium Data TransferSource Server         : MySQLSource Server Type    : MySQLSource Server Version : 80019Source Host           : localhost:3306Source Schema         : testTarget Server Type    : MySQLTarget Server Version : 80019File Encoding         : 65001Date: 16/11/2024 13:54:45
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for province
-- ----------------------------
DROP TABLE IF EXISTS `province`;
CREATE TABLE `province`  (`area` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of province
-- ----------------------------
INSERT INTO `province` VALUES ('山西省-太原市-迎泽区-迎泽区');
INSERT INTO `province` VALUES ('山西省-大同市-平城区-迎宾街-a区');
INSERT INTO `province` VALUES ('山东省-青岛市-大同市');SET FOREIGN_KEY_CHECKS = 1;
http://www.yayakq.cn/news/427227/

相关文章:

  • 綦江网站建设织梦可以做哪些类型型网站
  • 秦皇岛网站排名手机网站建站软件
  • 招商网站建设哪家好南通高端网站设计建设
  • 找工作的网站平台做新网站都需要准备什么
  • 做地图的网站网站开发所遵循
  • 城乡建设部网站自助商品房wordpress主题微信小程序
  • 网站建设找哪里光谷网站建设公司
  • 一般电商网站做集群做网站软件是什么下载
  • 住房和城乡建设部网站建筑合同做宽带销售网站
  • 天猫建设网站的目的中国seo谁最厉害
  • 农村学校资源网站建设与研究wordpress菜单不兼容
  • 进出口贸易公司网站建设用我在线网站建设
  • 网站开发模块化开发龙山县建设局网站
  • 网站组网图wordpress-5.2.1
  • 企业网站怎样做什么网站详情页做的好
  • 国外网站在国内做镜像站点寻找集团网站建设
  • 佛山网站建设与设计公司wordpress分类目录模板制作
  • 满洲里建设局网站首页深圳市深圳市住房和建设局网站
  • wordpress网站好用吗360网页游戏大厅
  • 鹰潭网站商城建设黄骅港旅游景点
  • 如何免费建设自己稳定的网站哈尔滨网站建设公司有哪些
  • 网站实名审核石家庄住房城乡建设厅网站
  • 做网站赚钱吗 怎么赚平面网页设计培训教程
  • 微信官方网站注册网站建设哪个
  • 用jsp和mysql做网站慈溪网站开发
  • 网站后台任务传奇手游发布网址传奇
  • 垂直网站建设步骤wordpress专业
  • 网站建设公司 上海网站开发行业资讯
  • 网站优化排名提升唐山网站设计
  • 做简单网站用什么软件有哪些内容重庆seo排