ASP代码问题 ,现在是循环里面的<li>现在想循环两次里面的循环一次外面的 以此类推 请教高手

<LI><ULclass=listSubNavigationBody><%setrsb=server.CreateObject("adodb.recordset")sql... <LI>
<UL class=listSubNavigationBody>
<%
set rsb=server.CreateObject("adodb.recordset")
sqlb="select * from bigclass order by bigclassid asc"
rsb.open sqlb,conn,1,3
%>
<LI>
<UL class=listSubNavigationColumn174>
<%
do while not rsb.eof
%>
<LI class=mainNavigationItemOuter><A
href="Product.asp?BigClassName=<%=rsb("bigclassname")%>"><B><%=rsb("bigclassname")%></B></A> </LI>
<%
set rss=server.CreateObject("adodb.recordset")
sqls="select * from smallclass where bigclassname='"&rsb("bigclassname")&"' order by smallclassid asc"
rss.open sqls,conn,1,3
do while not rss.eof
%>
<LI class=mainNavigationItemInner><A
href="Product.asp?BigClassName=<%=rsb("bigclassname")%>&Smallclassname=<%=rss("smallclassname")%>"><%=rss("smallclassname")%></A> </LI>
<%
rss.movenext
loop
rss.close
set rss=nothing
%>
<%
rsb.movenext
loop
%>
</UL></LI>
<%
rsb.close
set rsb=nothing
%>
</UL></LI>
展开
 我来答
百度网友66a8d48e5
2012-03-08 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3877万
展开全部
如果是我绝对不会这么做的!这不是循环两次,而是嵌套循环!是两层!而非两次!

嵌套循环是一个非常拉性能的东西!所以一般情况下不要用为好!

假设你外层是有8个选项,每个选项中又平均有8个选项,总共72条数据(内层加外层)让你循环了8次,加上外层的1次,共计九次向数据库取值,这样数据库IO性能一定被托的很低!

同时外层在等待内层时必须要两连接,连接池内被占用两个连接,也就是说,其他的全部给你放开,不考虑缓存情况,一个连接池内允许你有10条链接,你只能让同时5个用户在线!什么IIS链接数什么的在这个性能面前完全低头,将成为网站最大的速度效能杀手!

那么,为什么不使用两次查询呢?
第一次查询只查询外层的所有,然后全部写上。
第二次查询只查询内层的所有选项,然后根据不同的外层标识,利用程序加到外层项目下!
这样两层数据只在数据库链接中占用一个即可!

但这样要求你最好写成方法,这种客货混装(服务器代码与客户代码混写) 形式,必须要用js去添加的,对于引擎优化上可能有一定程度的影响,而且对于客户来说也不太友好!

最后的结论是:不要使用循环查询,这种方法往往是性能的最大杀手!
追问
大哥,我要的是多行多列的显示这些数据。。
追答
那介布局方面的,要与数据方面分开,可以用CSS控制,不要让数据去控制!
hutaoooooo
2012-03-08 · TA获得超过441个赞
知道小有建树答主
回答量:747
采纳率:0%
帮助的人:365万
展开全部
性能什么的先不考虑,最快实现你的要求的方法是:

<%
rss.movenext
loop
rss.close
set rss=nothing
%>
中间加入movefirst方法:
<%
rss.movenext
loop
rss.movefirst '回到rss的第一条记录
' 进行第二次循环
do while not rss.eof
'......
rss.movenext
loop
' 如果还要进行第三次、第四次循环,就再次rss.movefirst,再次do-while-loop
rss.close
set rss=nothing
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tangranchuxx
2012-03-09 · TA获得超过281个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:233万
展开全部
我同意kusirp21的说法,用CSS去布局而不是用代码去布局
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式