asp无限分级(递归调用)

数据库字段:id(自动编号),class_name(菜单名),parentID(父菜单id)


代码如下:

<%
dim m 
m=0
call ShowTree(0)%>
<%
Sub ShowTree(parentID)
     dim s
     m=m+1
     Dim rs
     Set rs = Server.CreateObject("ADODB.RecordSet")
     sql="Select class_id,class_name FROM [WMS_Class] where class_father_id="&Cint(parentID)
     rs.open sql,Conn,1,1
     if rs.eof and m = 1 then
           response.Write("该频道暂无栏目")
     end if
     Do While Not rs.Eof
               response.Write rs(0)
               for n=1 to m
                 if n = m and m = 1 then
                       Response.Write ("╋")
                 elseif n = 1 then
                       Response.Write (" ")
                 elseif n = m then
                       Response.Write ("├")
                 else
                       Response.Write ("│")
                 end if
           next
             response.Write rs(1)&"<br>"
           Call ShowTree(rs(0))
           m=m-1
           rs.Movenext
     Loop
End Sub
%>

(0)

相关推荐

  • 无限分级和tree结构数据增删改【附DEMO下载】

    阅读目录 •无限分级 •jstree插件 •Demo •创建Region实体 •满足jstree插件的数据对象Dto •数据转换 •初始化获取转换后的数据 •前台数据加载 •其他操作 •通过按钮来操作增删改 无限分级 很多时候我们不确定等级关系的层级,这个时候就需要用到无限分级了. 说到无限分级,又要扯到递归调用了.(据说频繁递归是很耗性能的),在此我们需要先设计好表机构,用来存储无限分级的数据.当然,以下都是自己捣鼓的结果,非标准.谁有更好的设计望不吝啬赐教. 说来其实也简单,就是一个ID和父

  • jquery实现无限分级横向导航菜单的方法

    本文实例讲述了jquery实现无限分级横向导航菜单的方法.分享给大家供大家参考.具体实现方法如下: 1. jquery插件版本代码如下: 复制代码 代码如下: (function($){     $.fn.extend({         droplinemenu: function(configs) {             var configs = $.extend({                                over: 200,                 o

  • PHP不用递归实现无限分级的例子分享

    两个不用递归的树形数组操作函数 复制代码 代码如下: /** * 创建父节点树形数组 * 参数 * $ar 数组,邻接列表方式组织的数据 * $id 数组中作为主键的下标或关联键名 * $pid 数组中作为父键的下标或关联键名 * 返回 多维数组 **/function find_parent($ar, $id='id', $pid='pid') {   foreach($ar as $v) $t[$v[$id]] = $v;  foreach ($t as $k => $item){    i

  • Android SQLite数据库增删改查操作的使用详解

    一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n). char(n).decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型. SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段

  • PHP数组无限分级数据的层级化处理代码

    复制代码 代码如下: /** * 创建父节点树形数组 * 参数 * $ar 数组,邻接列表方式组织的数据 * $id 数组中作为主键的下标或关联键名 * $pid 数组中作为父键的下标或关联键名 * 返回 多维数组 **/function find_parent($ar, $id='id', $pid='pid') {   foreach($ar as $v) $t[$v[$id]] = $v;  foreach ($t as $k => $item){    if( $item[$pid] )

  • 攻克CakePHP系列三 表单数据增删改

    这里声明一点,上例中不小心把数据库表中lastupd字段错打成lastudp,本例子予以更正. 除上诉字段数据库与上例一致. 工程仍沿用上例,如下图: 代码依次为: database.php:与上例一致. companies_controller.php: <?php  class CompaniesController extends AppController { var $name = 'Companies'; function index() { $this->set('compani

  • 关于无限分级(ASP+数据库+JS)的实现代码

    代码可以优化,请根据自己需求进行优化  说明: 所先把所有分类读取存放到JS数组中(如果数据量大可能就有点麻烦) 当选择时候返回父分类ID 在从数组中找出符合的分类,然后显示给用户 数据库设计(可以根据自己需求添加字段,如此分类属于什么分类等等) 字段            类型          说明 id               自动编号     记录编号 cotename    文本           分类名称 byid            数字           父分类ID(即

  • asp无限分级(递归调用)

    数据库字段:id(自动编号),class_name(菜单名),parentID(父菜单id) 复制代码 代码如下: <% dim m  m=0 call ShowTree(0)%> <% Sub ShowTree(parentID)      dim s      m=m+1      Dim rs      Set rs = Server.CreateObject("ADODB.RecordSet")      sql="Select class_id,c

  • PHP 无限分类三种方式 非函数的递归调用!

    php无限分类大致有三种方式, 1.数据库通过设置父类ID来进行唯一索引,然后使用函数的递归调用实现无限分类: 2.数据库设计通过特定格式进行排列,然后使用mysql查询关键函数:concat.程序实现比较简单: 3.第三种不是太了解, 好像要使用到算法和数据结构进行排列. 今天我主要分享下第二种方式,一开始也是找了很多资料,确实比较难理解.不过最终还是给搞明白了,因此记下随笔,希望通过这篇文章能够帮助到大家. 一.数据库设计: 复制代码 代码如下: -- -- Table structure

  • jstree创建无限分级树的方法【基于ajax动态创建子节点】

    本文实例讲述了jstree创建无限分级树的方法.分享给大家供大家参考,具体如下: 首先来看一下效果 页面加载之初 节点全部展开后 首先数据库的表结构如下 其中Id为主键,PId为关联到自身的外键 两个字段均为GUID形式 层级关系主要靠这两个字段维护 其次需要有一个类型 public class MenuType { public Guid Id { get; set; } public Guid PId { get; set; } public string MenuName { get; s

  • asp.net TreeView递归循环子节点生成树形菜单实例

    本文实例讲述了asp.net TreeView递归循环子节点生成树形菜单的方法.分享给大家供大家参考,具体如下: 这里主要用到递归循环获取子结点 /// <summary> /// 生成根节点 /// </summary> /// <param name="treeview"></param> protected void BindTreeView(long ID, TreeView treeview) { DataTable dt =

  • 用ASP实现分级权限控制

    用ASP实现分级权限控制  本文实现的是一个帐务管理系统中分级权限的控制,程序使用ASP和&#106avascript编写,在装有IIS4.0的win  NT服务器上运行,速度快,易维护.权限级别划分如下:①.院长和财务科长:不能输入,可以无限制查询.统计:②.副院长:不能输入,可以查询.统计其分管部门的帐务:③.部门领导:不能输入,可以查询.统计本部门的帐务:④.会计:能输入各部门的帐务(一个会计有时要做几个部门的帐),只能查询.统计自己输入的帐务.涉及的数据库和字段如下①.JK_USER数据

  • java利用递归调用实现树形菜单的样式

    一:需求 现有以需求就是把某一个帖子的全部评论展示出来. 二:分析 关于对帖子的评论分为主评论和子评论,主评论就是对帖子的直接评论,子评论就是对评论的评论. 三:思路 先获取某一个帖子的全部主评论,递归判断是否有子评论,获取子评论. 递归本质:程序调用自身的编程技巧叫做递归. 程序调用自身的编程技巧称为递归( recursion).递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调 用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模

  • Python函数递归调用实现原理实例解析

    函数的递归调用: 是函数嵌套调用的一种特殊形式 具体是指: 在调用一个函数的过程中又直接或间接地调用到了本身 # 直接调用本身 def func(): print('我是func') func() func() # 函数会不断的运行永远不会结束,但Python不允许这种情况,会默认限制只能调1000次. # 间接调用本身 def f1(): print('我是f1') f2() def f2(): print('我是f1') f1() f1() # 此时也相当于直接调用本身,f1-->f2-->

  • java新人基础入门之递归调用

    一.递归概念 递归本质:程序调用自身的编程技巧叫做递归. 程序调用自身的编程技巧称为递归( recursion).递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调: 用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过: 程所需要的多次重复计算,大大地减少了程序的代码量.递归的能力在于用有限的语句来定义对象的无限集合. 二.递归的三个条件: 边界条件 递归前进段 递归返回段 当

  • 详解Javascript函数声明与递归调用

    Javascript的函数的声明方式和调用方式已经是令人厌倦的老生常谈了,但有些东西就是这样的,你来说一遍然后我再说一遍.每次看到书上或博客里写的Javascript函数有四种调用方式,我就会想起孔乙己:茴字有四种写法,你造吗? 尽管缺陷有一堆,但Javascript还是令人着迷的.Javascript众多优美的特性的核心,是作为顶级对象(first-class objects)的函数.函数就像其他普通对象一样被创建.被分配给变量.作为参数被传递.作为返回值以及持有属性和方法.函数作为顶级对象,

随机推荐