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

网站建设群号简述建设一个网站的一般过程

网站建设群号,简述建设一个网站的一般过程,做网站需要哪些条件,生产厂家上什么网站做推广好前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到教程。 前言#xff1a; 关于多级别菜单栏或者权限系统中部门上下级的树形遍历#xff0c;oracle中有connect by来实现#xff0c;m…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到教程。 前言         关于多级别菜单栏或者权限系统中部门上下级的树形遍历oracle中有connect by来实现mysql没有这样的便捷途径所以MySQL遍历数据表是我们经常会遇到的头痛问题下面通过存储过程来实现。1建立测试表和数据DROP TABLE IF EXISTS csdn.channel;   CREATE TABLE csdn.channel (     id INT(11) NOT NULL AUTO_INCREMENT,       cname VARCHAR(200) DEFAULT NULL,     parent_id INT(11) DEFAULT NULL,     PRIMARY KEY (id)   ) ENGINEINNODB DEFAULT CHARSETutf8;   INSERT  INTO channel(id,cname,parent_id)    VALUES (13,首页,-1),          (14,TV580,-1),          (15,生活580,-1),          (16,左上幻灯片,13),          (17,帮忙,14),          (18,栏目简介,17);  DROP TABLE IF EXISTS channel;2利用临时表和递归过程实现树的遍历mysql的UDF不能递归调用2.1从某节点向下遍历子节点递归生成临时表数据  -- pro_cre_childlistDELIMITER $$     DROP PROCEDURE IF EXISTS csdn.pro_cre_childlist$$   CREATE PROCEDURE csdn.pro_cre_childlist(IN rootId INT,IN nDepth INT)   BEGIN         DECLARE done INT DEFAULT 0;         DECLARE b INT;         DECLARE cur1 CURSOR FOR SELECT id FROM channel WHERE parent_idrootId;         DECLARE CONTINUE HANDLER FOR NOT FOUND SET done 1;         SET max_sp_recursion_depth12;                INSERT INTO tmpLst VALUES (NULL,rootId,nDepth);                OPEN cur1;                FETCH cur1 INTO b;         WHILE done0 DO                 CALL pro_cre_childlist(b,nDepth1);                 FETCH cur1 INTO b;         END WHILE;                CLOSE cur1;   END$$   2.2从某节点向上追溯根节点递归生成临时表数据  -- pro_cre_parentlistDELIMITER $$DROP PROCEDURE IF EXISTS csdn.pro_cre_parentlist$$   CREATE PROCEDURE csdn.pro_cre_parentlist(IN rootId INT,IN nDepth INT)   BEGIN         DECLARE done INT DEFAULT 0;         DECLARE b INT;         DECLARE cur1 CURSOR FOR SELECT parent_id FROM channel WHERE idrootId;         DECLARE CONTINUE HANDLER FOR NOT FOUND SET done 1;         SET max_sp_recursion_depth12;                INSERT INTO tmpLst VALUES (NULL,rootId,nDepth);                OPEN cur1;                FETCH cur1 INTO b;         WHILE done0 DO                 CALL pro_cre_parentlist(b,nDepth1);                 FETCH cur1 INTO b;         END WHILE;                CLOSE cur1;        END$$     2.3实现类似Oracle SYS_CONNECT_BY_PATH的功能递归过程输出某节点id路径  -- pro_cre_pathlistDELIMITER $$USE csdn$$DROP PROCEDURE IF EXISTS pro_cre_pathlist$$CREATE PROCEDURE pro_cre_pathlist(IN nid INT,IN delimit VARCHAR(10),INOUT pathstr VARCHAR(1000))BEGIN                           DECLARE done INT DEFAULT 0;         DECLARE parentid INT DEFAULT 0;               DECLARE cur1 CURSOR FOR          SELECT t.parent_id,CONCAT(CAST(t.parent_id AS CHAR),delimit,pathstr)           FROM channel AS t WHERE t.id nid;                    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done 1;         SET max_sp_recursion_depth12;                                  OPEN cur1;                FETCH cur1 INTO parentid,pathstr;         WHILE done0 DO                            CALL pro_cre_pathlist(parentid,delimit,pathstr);                 FETCH cur1 INTO parentid,pathstr;         END WHILE;                     CLOSE cur1;    END$$DELIMITER ;2.4递归过程输出某节点name路径  -- pro_cre_pnlistDELIMITER $$USE csdn$$DROP PROCEDURE IF EXISTS pro_cre_pnlist$$CREATE PROCEDURE pro_cre_pnlist(IN nid INT,IN delimit VARCHAR(10),INOUT pathstr VARCHAR(1000))BEGIN                           DECLARE done INT DEFAULT 0;         DECLARE parentid INT DEFAULT 0;               DECLARE cur1 CURSOR FOR          SELECT t.parent_id,CONCAT(t.cname,delimit,pathstr)           FROM channel AS t WHERE t.id nid;                    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done 1;         SET max_sp_recursion_depth12;                                  OPEN cur1;                FETCH cur1 INTO parentid,pathstr;         WHILE done0 DO                            CALL pro_cre_pnlist(parentid,delimit,pathstr);                 FETCH cur1 INTO parentid,pathstr;         END WHILE;                     CLOSE cur1;         END$$DELIMITER ;2.5调用函数输出id路径   -- fn_tree_pathDELIMITER $$ DROP FUNCTION IF EXISTS csdn.fn_tree_path$$   CREATE FUNCTION csdn.fn_tree_path(nid INT,delimit VARCHAR(10)) RETURNS VARCHAR(2000) CHARSET utf8   BEGIN       DECLARE pathid VARCHAR(1000);          SET pathidCAST(nid AS CHAR);     CALL pro_cre_pathlist(nid,delimit,pathid);          RETURN pathid;   END$$       2.6调用函数输出name路径  -- fn_tree_pathname-- 调用函数输出name路径   DELIMITER $$ DROP FUNCTION IF EXISTS csdn.fn_tree_pathname$$   CREATE FUNCTION csdn.fn_tree_pathname(nid INT,delimit VARCHAR(10)) RETURNS VARCHAR(2000) CHARSET utf8   BEGIN       DECLARE pathid VARCHAR(1000);     SET pathid;         CALL pro_cre_pnlist(nid,delimit,pathid);     RETURN pathid;   END$$  DELIMITER ;   2.7调用过程输出子节点   -- pro_show_childLst  DELIMITER $$-- 调用过程输出子节点   DROP PROCEDURE IF EXISTS pro_show_childLst$$   CREATE PROCEDURE pro_show_childLst(IN rootId INT)   BEGIN         DROP TEMPORARY TABLE IF EXISTS tmpLst;         CREATE TEMPORARY TABLE IF NOT EXISTS tmpLst           (sno INT PRIMARY KEY AUTO_INCREMENT,id INT,depth INT);                      CALL pro_cre_childlist(rootId,0);                SELECT channel.id,CONCAT(SPACE(tmpLst.depth*2),--,channel.cname) NAME,channel.parent_id,tmpLst.depth,fn_tree_path(channel.id,/) path,fn_tree_pathname(channel.id,/) pathname         FROM tmpLst,channel WHERE tmpLst.idchannel.id ORDER BY tmpLst.sno;        END$$        2.8调用过程输出父节点   -- pro_show_parentLstDELIMITER $$-- 调用过程输出父节点   DROP PROCEDURE IF EXISTS pro_show_parentLst$$   CREATE PROCEDURE pro_show_parentLst(IN rootId INT)   BEGIN         DROP TEMPORARY TABLE IF EXISTS tmpLst;         CREATE TEMPORARY TABLE IF NOT EXISTS tmpLst           (sno INT PRIMARY KEY AUTO_INCREMENT,id INT,depth INT);                      CALL pro_cre_parentlist(rootId,0);         SELECT channel.id,CONCAT(SPACE(tmpLst.depth*2),--,channel.cname) NAME,channel.parent_id,tmpLst.depth,fn_tree_path(channel.id,/) path,fn_tree_pathname(channel.id,/) pathname         FROM tmpLst,channel WHERE tmpLst.idchannel.id ORDER BY tmpLst.sno;        END$$    3开始测试3.1从根节点开始显示显示子节点集合 mysql CALL pro_show_childLst(-1); --------------------------------------------------------------------------------------| id | NAME                  | parent_id | depth | path        | pathname                   |--------------------------------------------------------------------------------------| 13 |   --首页              |        -1 |     1 | -1/13       | 首页/                      || 16 |     --左上幻灯片      |        13 |     2 | -1/13/16    | 首页/左上幻灯片/           || 14 |   --TV580             |        -1 |     1 | -1/14       | TV580/                     || 17 |     --帮忙            |        14 |     2 | -1/14/17    | TV580/帮忙/                || 18 |       --栏目简介      |        17 |     3 | -1/14/17/18 | TV580/帮忙/栏目简介/       || 15 |   --生活580           |        -1 |     1 | -1/15       | 生活580/                   |--------------------------------------------------------------------------------------6 rows in set (0.05 sec)Query OK, 0 rows affected (0.05 sec)3.2显示首页下面的子节点CALL pro_show_childLst(13);  mysql CALL pro_show_childLst(13);   ------------------------------------------------------------------------------| id | NAME                | parent_id | depth | path     | pathname                |------------------------------------------------------------------------------| 13 | --首页              |        -1 |     0 | -1/13    | 首页/                   || 16 |   --左上幻灯片      |        13 |     1 | -1/13/16 | 首页/左上幻灯片/        |------------------------------------------------------------------------------2 rows in set (0.02 sec)Query OK, 0 rows affected (0.02 sec)mysql 3.3显示TV580下面的所有子节点CALL pro_show_childLst(14);   mysql CALL pro_show_childLst(14);  -----------------------------------------------------------------------------------| id | NAME               | parent_id | depth | path        | pathname                   |-----------------------------------------------------------------------------------| 14 | --TV580            |        -1 |     0 | -1/14       | TV580/                     || 17 |   --帮忙           |        14 |     1 | -1/14/17    | TV580/帮忙/                || 18 |     --栏目简介     |        17 |     2 | -1/14/17/18 | TV580/帮忙/栏目简介/       |-----------------------------------------------------------------------------------3 rows in set (0.02 sec)Query OK, 0 rows affected (0.02 sec)mysql 3.4“帮忙”节点有一个子节点显示出来CALL pro_show_childLst(17);   mysql CALL pro_show_childLst(17); ---------------------------------------------------------------------------------| id | NAME             | parent_id | depth | path        | pathname                   |---------------------------------------------------------------------------------| 17 | --帮忙           |        14 |     0 | -1/14/17    | TV580/帮忙/                || 18 |   --栏目简介     |        17 |     1 | -1/14/17/18 | TV580/帮忙/栏目简介/       |---------------------------------------------------------------------------------2 rows in set (0.03 sec)Query OK, 0 rows affected (0.03 sec)mysql 3.5“栏目简介”没有子节点所以只显示最终节点mysql CALL pro_show_childLst(18);   -------------------------------------------------------------------------------| id | NAME           | parent_id | depth | path        | pathname                   |-------------------------------------------------------------------------------| 18 | --栏目简介     |        17 |     0 | -1/14/17/18 | TV580/帮忙/栏目简介/       |-------------------------------------------------------------------------------1 row in set (0.36 sec)Query OK, 0 rows affected (0.36 sec)mysql   3.6显示根节点的父节点  CALL pro_show_parentLst(-1);   mysql CALL pro_show_parentLst(-1);Empty set (0.01 sec)Query OK, 0 rows affected (0.01 sec)mysql3.7显示“首页”的父节点CALL pro_show_parentLst(13);   mysql CALL pro_show_parentLst(13);   -------------------------------------------------| id | NAME     | parent_id | depth | path  | pathname |-------------------------------------------------| 13 | --首页   |        -1 |     0 | -1/13 | 首页/    |-------------------------------------------------1 row in set (0.02 sec)Query OK, 0 rows affected (0.02 sec)mysql 3.8显示“TV580”的父节点parent_id为-1CALL pro_show_parentLst(14);   mysql CALL pro_show_parentLst(14);   ------------------------------------------------| id | NAME    | parent_id | depth | path  | pathname |------------------------------------------------| 14 | --TV580 |        -1 |     0 | -1/14 | TV580/   |------------------------------------------------1 row in set (0.02 sec)Query OK, 0 rows affected (0.02 sec)3.9显示“帮忙”节点的父节点mysqlCALL pro_show_parentLst(17);   mysql CALL pro_show_parentLst(17);   ----------------------------------------------------------| id | NAME      | parent_id | depth | path     | pathname      |----------------------------------------------------------| 17 | --帮忙    |        14 |     0 | -1/14/17 | TV580/帮忙/   || 14 |   --TV580 |        -1 |     1 | -1/14    | TV580/        |----------------------------------------------------------2 rows in set (0.02 sec)Query OK, 0 rows affected (0.02 sec)mysql3.10显示最低层节点“栏目简介”的父节点CALL pro_show_parentLst(18);  mysql CALL pro_show_parentLst(18);  -------------------------------------------------------------------------------| id | NAME           | parent_id | depth | path        | pathname                   |-------------------------------------------------------------------------------| 18 | --栏目简介     |        17 |     0 | -1/14/17/18 | TV580/帮忙/栏目简介/       || 17 |   --帮忙       |        14 |     1 | -1/14/17    | TV580/帮忙/                || 14 |     --TV580    |        -1 |     2 | -1/14       | TV580/                     |-------------------------------------------------------------------------------3 rows in set (0.02 sec)Query OK, 0 rows affected (0.02 sec)mysql  原文http://blog.csdn.net/mchdba/article/details/39277301参考网址 http://jan.kneschke.de/projects/mysql/sp/sp_tree.sqlhttp://blog.csdn.net/ylqmf/article/details/5172901
http://www.pierceye.com/news/466628/

相关文章:

  • 厦门网站建设公司排名杭州小型网站建设服务
  • 西安建设主管部门官方网站中文搭建式软件开发工具
  • 南通网站建设论文网站首页导航栏怎么做
  • 建设网站的运行费包括什么北京市建设工程信息网安徽兴创
  • 我想在泉州做网站上上海网站设计
  • 百度seo网站优化一 网站开发体会
  • 成都58手机微信网站建设名录tiktok跨境电商好做吗
  • 电子科技 深圳 网站建设怎么做打码网站
  • 南宁小程序开发网站建设公司公司网站建设怎么选择
  • erp网站代做项目网络进度图
  • 网站建设胶州家园外贸网站怎么注册
  • 我想找阿里巴巴做网站推广建一个公司网站花多少钱
  • 最新购物网站建设框架wordpress 登录后台乱码
  • 音频网站开发做外贸网站需要营业执照
  • 企业网站搭建项目概述范文wordpress更改链接地址
  • 免费网站在线观看人数在哪直播建设工业网站首页
  • 权威的南昌网站设计wordpress游客评论游客
  • 乡镇府建设网站什么是外链
  • 营销型网站设计流程电子商务网站建设软件
  • 做个人网站的步骤wordpress 添加新页面
  • 公司建网站流程网站布局选择
  • 云南效果好的网站优化微信如何做有趣的短视频网站
  • wordpress个人网站后台登陆dedecms仿站
  • 网站没被收录什么原因上海哪家做网站
  • 电子商务网站建设含代码项目外包是什么意思
  • 此网站正在建设中页面重庆网上商城网站建设公司
  • 保定建设公司网站新产品上市的营销策划方案
  • 网站建设课程报告论文网络设计专业有前途吗
  • 苏州哪个公司做门户网站wordpress显示评论者地理位置 浏览器
  • 福州网站设计十年乐云seo推广网上国网有什么好处