用asp访问数据库显示多级菜单(源码已提供)

用asp访问数据库显示多级菜单(源码已提供),第1张

可以使用递归方式来取

Sub getmenu(fid)

    m=m+1

    Set rss=server.CreateObject("adodb.recordset")

    sql="select id,departmenetName,parrentId,danweiId,idx from menuname where parentId='"&fid&"' order by id asc"

    rss.open sql,conn,1,1

    if not rss.eof then

      do while not rss.eof

      c_id=rss("id")

      c_name=rss("departmenetName")

      if m=1 then   '第一级菜单,这里为了突出显示给菜单前加空格和特殊字符,如不需要可不用判断m的值

       c_t=""

      elseif m=2 then  '第二级菜单

       c_t="&nbsp&nbsp&brvbar&sdot&sdot"

      elseif m=3 then  '第三级菜单

       c_t="&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&brvbar&sdot&sdot"

      elseif m=4 then  '第四级菜单

       c_t="&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&brvbar&sdot&sdot"

      else

       c_t=""

      end if

      response.write("<option value='"&c_id&"'>"&c_t&""&c_name&"</option>")

      call getmenu(c_id)

      m=m-1

      rss.movenext:loop

    end if

End Sub

不用m的判断可以显示无限级,每次取出往后空一行,有多少显示多少,测试只是为了在select中突出显示,所以特别判断是哪一级

之前我回答过类似你的这种问题,我这给你贴过来吧!你看看!

数据中设计一张导航表

该表包含以下主要字段

id 导航编号,一般自动增长

navName 导航菜单名称

navOrder 导航菜单优先级,排序

pageNameID 所属页面ID,这个一般由页面类型表中的ID外键关系

navLevel 导航级别,记录当前菜单位置

navParentID 当前导航父级导航ID

然后在程序中根据页面类型ID获取当前页面该加载哪些菜单!

一条select语句就搞定了!接着就是页面绑定的问题了!

表结构如下

id navName navOrder pagenameidnavLevel navParentID pageUrl

1 人员信息管理 01 00 a.aspx

2 *人员登录 1 1 1 1 a.aspx

3 *人员列表 11 1 1 a.aspx

4 *人员详细信息 11 1 1 a.aspx

5 图书信息管理0 2 0 0 b.aspx

6 *新书登录 1 2 1 5 b.aspx

7 *图书列表 1 2 1 5 b.aspx

8 *借阅记录 1 2 1 5 b.aspx

查询方法

如果你要查 ”人员信息管理“ 菜单 就如下查询

select * from tableName where navParentID = 1

如果你要查 ‘图书信息管理“ 菜单 就如下查询

select * from tableName where navParentID = 5

这样你就可以在数据库中轻松管理导航菜单了

关于相关的前端页面 *** 控菜单就需要用javascript和css了。

你可以关注我的博客,里面有类似这些相关文章。

CSS菜单实例大全.100个

主要从几个不同方面设计ORACLE数据库优化方案:一.数据库优化自由结构OFA(Optimal flexible Architecture)二、充分利用系统全局区域SGA(SYSTEM GLOBAL AREA)三、数据库设计中的优化策略数据应当按两种类别进行组织:频繁访问的数据和频繁修改的数据。对于频繁访问但是不频繁修改的数据,内部设计应当物理不规范化。对于频繁修改但并不频繁访问的数据,内部设计应当物理规范化。四、合理设计和管理表1、利用表分区分区将数据在物理上分隔开,不同分区的数据可以制定保存在处于不同磁盘上的数据文件里。2、避免出现行连接和行迁移3、控制碎片4、别名的使用别名是大型数据库的应用技巧,就是表名、列名在查询中以一个字母为别名,查询速度要比建连接表快1.5倍。5、回滚段的交替使用五、索引Index的优化设计1、管理组织索引索引可以大大加快数据库的查询速度,索引把表中的逻辑值映射到安全的RowID,因此索引能进行快速定位数据的物理地址。六、多CPU和并行查询PQO(Parallel Query Option)方式的利用七、实施系统资源管理分配计划ORACLE 提供了Database Resource Manager(DRM,数据库资源管理器)来控制用户的资源分配,DBA可以用它分配用户类和作业类的系统资源百分比。在一个OLDP系统中,可给联机用户分配75%的CPU资源,剩下的25%留给批用户。另外,还可以进行CPU的多级分配。除了进行CPU资源分配外,DRM还可以对资源用户组执行并行 *** 作的限制。八、使用最优的数据库连接和SQL优化方案九、充分利用数据的后台处理方案减少网络流量1、合理创建临时表或视图2、数据库打包技术的充分利用利用数据库描述语言编写数据库的过程或函数,然后把过程或函数打成包在数据库后台统一运行包即可。3、数据复制、快照、视图,远程过程调用技术的运用


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6779002.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存