文件查询问题,在线等,急~~
表一(类别表):
id parentid name
1 0 a
2 1 b
3 2 c
4 3 d(第一组结束,当然可能有N级)
5 0 e
6 5 f
7 6 g(第二组结束,当然可能有N级)
8 0 h
9 8 i
10 9 j(第三组结束,当然可能有N级)
…………
上表是一个无限级目录结构,parentid为0的为一个根。
表二(文件表):
其中的一个字段值是上表(类别表)中每组的根ID与叶ID组成的字符串。如:(1,4|5,7|8,10……),从此字段的值我能得到此文件属于1(a)4(d)和5(e)7(g)和8(h)10(j)……类。
要求:
点击此文件适用的所有类别都能查询到些文件。(如:点击id为1,2,3,4--abcd的都能查询到,点击id为5,6,7--efg的也能查询到……)
求高手帮忙~~
问题点数:50、回复次数:6Top
1 楼myvicy(我来也!)回复于 2005-04-01 16:43:50 得分 0
<%
gs_str=""
function get_rs_tile(id)
rs....'获取id的记录
......
title_str=""
do until rs.eof
title_str+=rs("title")
loop
gs_str=gs_str+title_str
end function
function get_rs_id(id)
rs....'获取id的记录
......
count=0
do until rs.eof
count=count+1
gs_str=gs_str+rs("id")
if get_rs_id(rs("id"))=0 then
get_rs_title rs("id")
end if
loop
set get_rs_id=count
end function
%>
<% response.write gs_str%>
试试Top
2 楼libao1983(神勇无敌小豹子)回复于 2005-04-01 16:46:17 得分 0
不错Top
3 楼szasp(臭脚丫(抵制日货!!!!))回复于 2005-04-01 16:57:45 得分 0
其中1-4之间可能有多组,如:1->2->3->4这是一个组,1->22->33->44->55……另一组,以此类推,其它的,如5-7之间也可能是多组,如:5->6->7这是一组,5->66->77……另一组。
我想点击a打开一窗口(self),左侧显示a的所有直接下组目录名,右侧显示所有适用于a的文件;再点击此页的b,此页的左侧显示b的所有下级目录名,右侧显示所有适用于b的文件。
如一个文件的字符串为:1,4|5,7,那么点击1,2,3,4都能查询到,而点击22,33,44等就无法查询到了。
怎么做呀,高手们帮忙呀???Top
4 楼wxf0104(西方失败007)回复于 2005-04-02 10:34:53 得分 0
我顶,学习~~Top
5 楼wxf0104(西方失败007)回复于 2005-04-05 09:25:31 得分 50
表一(类别表):名称为a
表二(文件表):名称为b
表二(文件表)中的那个字段1,2|5,4|3,6……名为c
cateid=request("id")'从上页传来的大类ID
<%depth=0
'depth 记忆类别的深度 顶层类深度为1
function getchild(pid)
depth=depth+1
sql="select id,name from a where parentId="&pid
set rs=cnn.Execute(sql)
do while not rs.eof
bb=rs("id")
'Response.Write(string(depth,".")&bb&rs("name")&"<br/>")
sql2="select * from b where c like '%," & bb & "|%'"
set rs2=cnn.Execute(sql2)
do while not rs2.eof
Response.Write(rs2("title")&"<br/>")
rs2.movenext
loop
rs2.close
set rs2=nothing
getchild(rs("id"))
rs.movenext()
loop
depth=depth-1
end function
getchild(cateid)
%>
试试......Top
6 楼szasp(臭脚丫(抵制日货!!!!))回复于 2005-04-05 09:35:02 得分 0
完全可以,感谢西方失败的帮助,我已解决了。
给分~~Top




