学习(编程技巧_编程知识_程序代码),是学习编程不可多得的学习精验
源代码在线查看: 用asp实现商务网站动态树型商品目录的显示.txt
用ASP实现商务网站动态树型商品目录的显示
--------------------------------------------------------------------------------
第八军团 时间:2003-7-25 17:03:42
摘要:目前许多商务网站的商品目录管理多采用静态网页技术来实现,使得商品目录呈现一定的刚性,维护起来比较困难。本文以虚拟的“翰林”网上书店为背景,采用动态网页技术ASP实现了网站动态树状结构商品目录的显示,使得对商品目录的管理与维护非常容易。该动态树型商品目录具有通用性,完全可以直接用于其他商务网站。
关键词:商务网站,ASP,动态树型商品目录
1 引言
网上商店的商品分类是非常重要的。正确和完善的商品分类目录能够引导用户快捷而方便地寻找到他所需要购买的商品。良好的分类设计是电子商务系统必不可少的环节,此环节在后台管理上体现在方便的商品目录增加、删除和修改,在前台购物中体现在根据目录浏览查找所需商品的方便快捷性。本文所提出的商品树型目录完全采用动态网页技术,并实现了类似于windows操作系统的文件目录管理所采用的树型目录结构的显示,使之具有柔性,使得日常的商品目录维护也变得非常容易。
在这篇文章中,主要侧重于商品树型目录的显示,动态树型商品目录的管理请参阅作者的另外一篇文章《用ASP实现商务网站动态树型商品目录的管理》。
2 系统运行界面
显示动态树型目录的页面在IE5.0中的浏览效果如图1所示。
在实际使用时可以将其放置在一个框架网页中,以和框架网页中的其他页面配合来完成相应的功能。
2 实现树型商品目录结构的数据结构
商品的目录的相关信息存放在一个数据库表bookCat中。
bookCat数据库表的结构
字段名
数据类型
长度
说明
id
自动编号
长整型
目录ID号(自动分配)
name
文本
30
目录名
fatherID
数字
长整型
父目录的ID号
level
数字
整型
该目录在目录树中的层次
treeNo
数字
长整型
该目录在目录树中的序号
childNum
数字
长整型
孩子数
descendantNum
数字
长整型
子孙数
spread
是/否
显示时是否展开
memo
文本
254
备注
为了显示的方便性和快捷性,该数据库表中的记录始终是按照treeNo字段排列的。TreeNo就是该条商品目录在完整显示(没有折叠)的商品目录中的顺序号。其他字段的作用请参考表1中的说明。
4 树型商品目录的显示
首先定义一个堆栈,用来存放各级目录尚待显示的兄弟数。当显示下级目录时,先将本级目录的兄弟数量压入堆栈。显示完下级目录,再显示本级目录项时,再将原来压入堆栈的本级的兄弟数量出栈。再读取目录表中的记录,并按照序号排序。然后一条一条地显示每一个目录项。在显示每一个目录项时,根据当前目录的层次数、以上各级目录剩余的兄弟数、是否展开等显示相应的图片,最后显示该目录项的名称。
树型目录的折叠标志是一个图片,在其上都设置了一个超级链接,该超级链接指向一个特定的asp文件,并将展开命令和目录的ID号传递给该asp文件。该asp文件根据传递来的信息修改目录表中的相应记录的spread字段,使其为展开状态。完成修改后,再将请求传递给显示目录的动态网页。然后重新根据修改后的目录表显示树型目录,从而实现目录的展开。
有关目录显示的关键代码如下:
1)准备工作
为了显示树型目录结构首先定义和实现了一个堆栈:
接着完成与数据库之间的连接,并获得bookcat表中的全部记录。在使用SQL查询bookcat表时使用treeNo字段进行排序。