日期:2014-05-17  浏览次数:21024 次

怎样分级显示数据库里的内容

表1

这个表是我的原始的表,目前在页面上也只显示这个表的内容。

表1里的任务为任务的粗略描述,在每条任务的后面有个“细化任务”按钮,将任务细化,则向表2中添加内容并将细化的那条任务的id添加到parentID中。

表2

表1中的id=表2中的parentID

目前我的页面就是简单的显示表1的内容,代码如下:

(.....)
<table>
<%
if session("flag")=0 then
sql="select*from 软件计划 where 计划完成时间 between #"&DateSerial(year1,month1,1)&"# and #"&DateSerial(year1,month1,31)&"# "
else 
sql="select * from 软件计划 where 负责人='"&session("user")&"' and 计划完成时间 between #"&DateSerial(year1,month1,1)&"# and #"&DateSerial(year1,month1,31)&"# "
end if
rs.open sql,connstr,1,1  
do while i< maxperpage and not rs.eof
%>
<tr>
<td width="90" bgcolor="#FFFFFF" align="center">><%=rs("发动机型号")%></td>
<td width="85" bgcolor="#FFFFFF" align="center"><%=rs("产品型号")%></td>
<td width="125" bgcolor="#FFFFFF" height="30" align="center"><%=rs("计划内容")%></td>
<td width="55" bgcolor="#FFFFFF" height="30" align="center"><%=rs("所属科室")%></td>
<td width="75" bgcolor="#FFFFFF" height="30" align="center"><%=rs("负责人")%></td>
<td width="75" bgcolor="#FFFFFF" height="30" align="center"><%=rs("设计")%></td>  
<td width="85" bgcolor="#FFFFFF" height="30" align="center"><%=rs("任务制定时间")%></td>
<td width="85" bgcolor="#FFFFFF" height="30" align="center"><%=rs("计划完成时间")%></td>

<%
i=i+1
rs.movenext  
loop
end if
%>
</tr>
</table>

  任务细化以后,表2中的某些内容是表1中某条任务的下一级
我的问题是:
怎样改写代码使:
如果表1中的一条任务有下一级的细化任务的话,前面出现一个“+”号,点击“+”号,则展开细化任务的内容,点击“-”号收起细化任务的内容。
  例如下图:


或者,我的思路可能不对,请大家指点
还有,这个代码我是一点都不会,所以麻烦能不能给出源码,并加以注释。谢谢

------解决方案--------------------
如果把所有任务一次取出来的话,要用JS进行控制,并判断,取出时就做好,可以用左连接把所有记录取出,页面输出时判断如果发生任务ID变化,则是到了一下个任务,如果不是,第一个就是该任务信息,以下的都是细化任务;
也可以采用AJAX,数据取出时只取任务列表,取出时做判断,如果有细化任务的则前置+图标,然后点击加号用AJAX实现无刷新添加数据显示。