asp记录集的循环显示与回复显示问题

小弟初学ASP,编写了一个ASP页,请高手审查!<%@LANGUAGE="VBScript"codepage="936"%><!--#includefile="sysda... 小弟初学ASP,编写了一个ASP页,请高手审查!
<%@LANGUAGE="VBScript" codepage="936"%>
<!--#include file="sysdata/com.asp"-->
<%
dim rs
dim sql
set rs=server.createobject("adodb.recordset")
sql="select id,name,title,body,time from guest order by id asc"
rs.open sql,conn,1,1
%>
<%
dim rs1
dim sql1
dim hf
set rs1=server.createobject("adodb.recordset")
sql1="select * from rel where guestid="&rs("id")
rs1.open sql1,conn
%>
<%do while not rs.eof%>
<html>
<head>
<title>留言本</title>
</head>
<body>
<p align="left"><%=rs("name")%></p>
<p><center><%=rs("title")%></center></p>
</p><%=rs("body")%></p>
<p align="center"><%=rs("time")%></p>

<p align="right"><%=rs1("relbody")%></p>
<%
rs.movenext
loop
%>
</body>
</html>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
这只是一个我做的简单代码!因而没有分页显示代码;所设计的是主贴和回复需同时显示在一个页面上,通过表guest的id与表rel中guestid的值匹配来显示主贴及其回复;但我在使用循环语句显示主贴的时候,却发现主贴能循环显示,但每个主贴的回复就都显示ID为1的回复。请高手指正?
说明:包含文件只有一个数据库连接。没有其他代码!
展开
 我来答
一亩草
2009-02-19 · TA获得超过487个赞
知道小有建树答主
回答量:1136
采纳率:100%
帮助的人:575万
展开全部
因为你读取回复的那个游标没有循环啊
应该这样写 ,代码可以更精简
<%@LANGUAGE="VBScript" codepage="936"%>
<!--#include file="sysdata/com.asp"-->
<%
dim rs,rs1,sql,sql1,hf
set rs=server.createobject("adodb.recordset")
sql="select id,name,title,body,time from guest order by id asc"
rs.open sql,conn,1,1
set rs1=server.createobject("adodb.recordset")
do while not rs.eof
sql1="select * from rel where guestid="&rs("id")'注意:把这个放到循环里面
rs1.open sql1,conn
%>
<html>
<head>
<title>留言本</title>
</head>
<body>
<p align="left"><%=rs("name")%></p>
<p><center><%=rs("title")%></center></p>
</p><%=rs("body")%></p>
<p align="center"><%=rs("time")%></p>

<%Do While Not Rs1.Bof And Not Rs1.Eof'第二层循环,用于输出回复%>
<p align="right"><%=rs1("relbody")%></p>
<%
Rs1.MoveNext
Loop
Rs1.Close
rs.movenext
loop
%>
</body>
</html>
<%
rs.close
set rs=nothing
Rs1.Close
Set Rs1=Nothing
conn.close
set conn=nothing
%>
ad876
2009-02-16 · 超过10用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:0
展开全部
no
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cihwhb
2009-02-18
知道答主
回答量:5
采纳率:0%
帮助的人:3.5万
展开全部
从你上面来看,分不太出哪个是主贴的表哪个是回复的表
如果 guest是主贴表
<html>
<head>
<title>留言本</title>
</head>
<!--#include file="sysdata/com.asp"-->
<body>
<%
'取主贴id为1的里面的内容
set rs=server.createobject("adodb.recordset")
sql="select * from guest where id=1"
rs.open sql,conn,1,1
%>
<p align="left"><%=rs("name") %></p>
<p><center><%=rs("title")%></center></p>
</p><%=rs("body")%></p>
<p align="center"><%=rs("time")%></p>

<%

rs.colse
set rs=nothing
'从回复表rel里取出字段guestid(主表里的id)为1的所有回复relbody为回复内容降序排列
set server.createobject("adodb.recordset")
sql="select relbody from rel where relID=1 order by id desc"
'relID为回复表里的主贴id字段
rs.open sql,conn,1,1
do while not rs.eof
%>
<p align="center"><%=rs("relbody")%></p>
<%
rs.movenext
loop
rs.close
set rs=nothing
%>
</body>
</html>
我自己写的没试,不知道行不行你看下吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小酷鼠游戏攻略
2009-02-21 · TA获得超过251个赞
知道小有建树答主
回答量:787
采纳率:0%
帮助的人:551万
展开全部
............基础
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式