统计问题,请大家帮忙看一下,给点意见,谢谢了

时间:2023-01-29 20:39:29

我想实现的效果是点击大类的时候,就显示大类,二类和三类的所有图片。当点击二类的时候就显示二类和3三类的所有图片,点击三类的时候就只显示三类的图片(这个功能已经显示),现在想的是如何实现点击大类和二类的时候能显示以上的功能,
大类->二类
三类,三类,三类,三类

关联到得数据库
nt_classname (分类表)
id 自动编译
1
2
3
4
5
6
7
8
(数据显示)
classname (分类名)
雁形目
鸭科
栗树鸭
白头硬尾鸭
形目
啄木鸟科
蚁
斑姬啄木鸟(
数据显示)
ParentID (父分类ID)
0
1
2
2
0
5
6
6
(数据显示)
ParentPath (分类路径)
0
0,1
0,1,2
0,1,2
0
0,5
0,5,6
0,5,6
(数据显示)
nt_title (中间表,用来与图片表关联的)
titleid (自动编译)
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
classid(分类表id,存入的是保存后的某个图片属于某个分类的id)
6
1
3
2
4
7
8
3
4
8
6
.
.
.
.
<%
dim ID,ParentPath
ID=trim(request("ID"))
Set rs= Server.CreateObject("ADODB.Recordset")
sql="select * from nt_classname where ID="&ID&""
rs.open sql,conn,1,3
ParentPath=split(rs("ParentPath"),",")
%>
我想用ParentPath=split(rs("ParentPath"),",")这种来实现,只是用了这个以后,就出现下标错误,因为
ParentPath (分类路径)
0
零后面没有,以后的东西。。。希望大家给点意见谢谢了

5 个解决方案

#1


function get_sids(byval id)
  dim rs,temp
  temp=id
  set rs=conn.execute("select * from nt_classname where ParentID="&id&"") ‘找这个ID下面所有小分类
  while not rs.eof 
   temp=temp & "," & get_sids(rs("id")) ’刚才小分类的小分类,如此循环,知道没有了
  rs.movenext
  wend
  rs.close
  set rs=nothing
  get_sids=temp ‘把刚才得到的一堆大分类下的全部分类返回,类似1,2,3,4,5,6
end function

get_sids得到当前点击栏目下面所有包含的分类
调用的时候 ParentID in ("&get_sids(这里是你上面点击传过来的ID变量)&") 就行了

#2


<a href=list.asp?class1=大类A>大类A</a>
<a href=list.asp?class1=大类A&class2=二类A>二类A</a>
<a href=list.asp?class1=大类A&class2=二类A&class3=小类A>小类A</a>

======================
list.asp
dim c1,c2,c3
c1=request("class1")
c2=request("class2")
c3=request("class3")
dim rs,sql
.........
sql="select * fron tb where 1=1"
if c1<>"" then
sql=sql&"and class1='"&c1&"'"
end if
if c2<>"" then
sql=sql &"and class2='"&c2&"'"
end if 
if c3<>"" then
sql=sql & "and class3='"&c3&"'"
end if
sql=sql & "order by id desc"
rs.open sql,conn,1,3
...................

#3


可以使用JS后台读取ASP取数据库内容或XML数据进行数据填充,这个结构应该更好一些。

#4


该回复于2010-02-23 09:42:20被版主删除

#5


该回复于2010-02-23 09:47:15被版主删除

#1


function get_sids(byval id)
  dim rs,temp
  temp=id
  set rs=conn.execute("select * from nt_classname where ParentID="&id&"") ‘找这个ID下面所有小分类
  while not rs.eof 
   temp=temp & "," & get_sids(rs("id")) ’刚才小分类的小分类,如此循环,知道没有了
  rs.movenext
  wend
  rs.close
  set rs=nothing
  get_sids=temp ‘把刚才得到的一堆大分类下的全部分类返回,类似1,2,3,4,5,6
end function

get_sids得到当前点击栏目下面所有包含的分类
调用的时候 ParentID in ("&get_sids(这里是你上面点击传过来的ID变量)&") 就行了

#2


<a href=list.asp?class1=大类A>大类A</a>
<a href=list.asp?class1=大类A&class2=二类A>二类A</a>
<a href=list.asp?class1=大类A&class2=二类A&class3=小类A>小类A</a>

======================
list.asp
dim c1,c2,c3
c1=request("class1")
c2=request("class2")
c3=request("class3")
dim rs,sql
.........
sql="select * fron tb where 1=1"
if c1<>"" then
sql=sql&"and class1='"&c1&"'"
end if
if c2<>"" then
sql=sql &"and class2='"&c2&"'"
end if 
if c3<>"" then
sql=sql & "and class3='"&c3&"'"
end if
sql=sql & "order by id desc"
rs.open sql,conn,1,3
...................

#3


可以使用JS后台读取ASP取数据库内容或XML数据进行数据填充,这个结构应该更好一些。

#4


该回复于2010-02-23 09:42:20被版主删除

#5


该回复于2010-02-23 09:47:15被版主删除