把无限级分类生成数组

网络编程 2025-03-25 06:58www.168986.cn编程入门

面对无限级分类的循环,确实是一件让人头疼的事情。想象一下,当我们需要循环出一个SELECT或者一个TABLE时,需要写大量的判断逻辑,这无疑增加了我们的工作量,降低了开发效率。那么,有没有更好的解决方案呢?我的答案是:生成数组,通过重复调用,直接循环数组。而且,为了更好地管理和使用,我把它封装成了一个类。

我们可以创建一个专门处理无限级分类的类。这个类的主要功能就是生成表示分类的数组。这个数组的结构可以设计成能够清晰地表示分类的层级关系。例如,每个数组元素可以包含一个“类别”字段和一个“子类别”字段,同时还有一个指向子类别数组的指针。这样,我们就可以很方便地表示出任意的分类结构。

然后,我们可以通过这个类提供的方法,轻松地生成我们需要的SELECT或者TABLE。因为所有的分类信息都已经存储在了数组中,我们只需要遍历这个数组,根据不同的层级关系生成对应的SQL语句或者HTML代码就可以了。这样,我们就可以避免大量的判断逻辑,提高开发效率。

这个类的使用也非常简单。我们只需要实例化这个类,然后调用相应的方法,就可以得到我们需要的数组。这个数组可以重复调用,无论我们需要生成多少个SELECT或者TABLE,都只需要调用一次这个类的方法就可以了。

class.asp

```asp

<%

Class ClassList

Private c_id

Private c_db_name

Private c_pid

Private c_classname

Public Property Let id(str)

c_id = str

End Property

Public Property Let db_name(str)

c_db_name = str

End Property

Public Property Let pid(str)

c_pid = str

End Property

Public Property Let classname(str)

c_classname = str

End Property

Dim list()

Dim i, n

Private Sub Class_Initialize() '初始化变量

i = 0

n = 0

End Sub

Public Function ClassArray(ByVal thisid, ByVal pid) '取得下级ID

Dim sql, rs_c, rs1, tempList() As Variant, tempI As Integer

If pid > 0 Then

sql = "SELECT ... FROM " & c_db_name & " WHERE " & c_pid & "=" & thisid '构造SQL查询语句,此处省略具体字段名,需要根据实际情况填写完整SQL语句。此处省略部分代码。

Else

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by