ASP表格循环出错,获取的名称全是一样的

循环中能显示条数但是名字都一样。只能读取到数据的第一条,一直循环。<%setrs=server.createobject("adodb.recordset")sql="s... 循环中能显示条数但是名字都一样。只能读取到数据的第一条,一直循环。
<%
set rs=server.createobject("adodb.recordset")
sql="select * from card_collection where Collection_user='"& session("user")&"'"
rs.open sql,conn,1,1
ida=rs("commodity_id")

set rs1=server.createobject("adodb.recordset")
sql1="select * from card_commodity where commodity_id="&ida&""
rs1.open sql1,conn,2,2
%>

<%
While Not rs.eof
%>
<tr class="title">
<td height="26" bgcolor="#A4B6D7"><b><%=rs1("commodity_name")%></b></td>
<td bgcolor="#A4B6D7"><div align="center"><a href="javascript:Comment('Babyattribute.asp?id=<%=rs1("commodity_id")%>',450,250)"><img src="images/icon_productxx.gif" width="16" height="12" border="0"></a></div></td>
<td bgcolor="#A4B6D7"><div align="center"><img src="images/icon_ghs.gif" width="10" height="16" /></div></td>
<td bgcolor="#A4B6D7"><div align="center">¥<strong><%=rs1("Parvalue")%></strong></div></td>
<td bgcolor="#A4B6D7"><div align="center">¥<strong><%=rs1("Unitprice")%></strong></div></td>
<td bgcolor="#A4B6D7"><div align="center"><%
if rs1("stock")>=1 then
response.write("库存充足")
else
response.write("库充不足")
end if
%>

</div></td>
<td bgcolor="#A4B6D7"><div align="center"><a href="<%
'商品类型 0.为手动充值 1.为自动充值 2.官方冲
if rs1("commodity_Type")=1 then
response.write("BuyCard_Step.asp")
end if
%>
<%
if rs1("commodity_Type")=0 then
response.write("BuyCard_Step_zc.asp")
end if
%>
<%
if rs1("commodity_Type")=2 then
response.write("BuyCard_Step_gf.asp")
end if
%>
?commodity_id=<%=rs("commodity_id")%>"><img src="images/icon_<%=rs1("commodity_Type")%>.gif" border="0"></a></div></td>
</tr>

<%
rs.movenext
wend
%>
</table></td>
</tr>
</table>
展开
 我来答
老张聊房产
2011-11-14 · 知道合伙人互联网行家
老张聊房产
知道合伙人互联网行家
采纳数:986 获赞数:9943
计算机、建筑学双专业,近10年B/S体系结构开发经验,同时拥有近7年房地产专业研报撰写、分析经验。

向TA提问 私信TA
展开全部
你循环的位置错了。注意我修改的地方。

<%
set rs=server.createobject("adodb.recordset")
sql="select * from card_collection where Collection_user='"& session("user")&"'"
rs.open sql,conn,1,1
ida=rs("commodity_id")
if not rs.bof and rs.eof then

While Not rs.eof

set rs1=server.createobject("adodb.recordset")
sql1="select * from card_commodity where commodity_id="&ida&""
rs1.open sql1,conn,2,2
%>
<tr class="title">
<td height="26" bgcolor="#A4B6D7"><b><%=rs1("commodity_name")%></b></td>
<td bgcolor="#A4B6D7"><div align="center"><a href="javascript:Comment('Babyattribute.asp?id=<%=rs1("commodity_id")%>',450,250)"><img src="images/icon_productxx.gif" width="16" height="12" border="0"></a></div></td>
<td bgcolor="#A4B6D7"><div align="center"><img src="images/icon_ghs.gif" width="10" height="16" /></div></td>
<td bgcolor="#A4B6D7"><div align="center">¥<strong><%=rs1("Parvalue")%></strong></div></td>
<td bgcolor="#A4B6D7"><div align="center">¥<strong><%=rs1("Unitprice")%></strong></div></td>
<td bgcolor="#A4B6D7"><div align="center"><%
if rs1("stock")>=1 then
response.write("库存充足")
else
response.write("库充不足")
end if
%>

</div></td>
<td bgcolor="#A4B6D7"><div align="center"><a href="<%
'商品类型 0.为手动充值 1.为自动充值 2.官方冲
if rs1("commodity_Type")=1 then
response.write("BuyCard_Step.asp")
end if

if rs1("commodity_Type")=0 then
response.write("BuyCard_Step_zc.asp")
end if

if rs1("commodity_Type")=2 then
response.write("BuyCard_Step_gf.asp")
end if
%>
?commodity_id=<%=rs("commodity_id")%>"><img src="images/icon_<%=rs1("commodity_Type")%>.gif" border="0"></a></div></td>
</tr>

<%
rs.movenext
wend
%>
</table></td>
</tr>
</table>
更多追问追答
追问
Microsoft VBScript 编译器错误 '800a03f6' 

缺少 'End'

\ProductFav.asp, line 125[ ]
追答
汗,忘了。在 wend后面加一行
end if
百度网友474f9cb9b
2011-11-15 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:90
采纳率:100%
帮助的人:126万
展开全部
楼上回答的应该是错误的,
看你的代码,你rs记录集取得的值只有一个,rs1为通过rs的值查出多项记录,那么你循环的记录集应该是rs1,所以你的代码只要改两处即可(在你贴出来的代码中改,别弄错了):
While Not rs.eof
改为While Not rs1.eof
后面的同样rs.movenext改为rs1.movenext
这样记录集就没错了,至于你表格版面,你循环的位置别放错就ok

这是我对你代码的大概理解,如果不是这样,那请你描述下你程序所要实现的功能.
更多追问追答
追问
按照你这样放入后就会出现一直正在打开网页,但没实际效果。  时间一长电脑调试程序就出现进程过大。
追答
你把我这段简化代码进行测试,如果成功,就把while里的内容替换回表格
")
rs1.movenext
wend
end if
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三威硒鼓
2011-11-16 · 超过35用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:93.9万
展开全部
<%
While Not rs1.eof
%>
<%
rs1.movenext
wend
%>
把代码中的这二个部分改成我发的
分析原因是:循环输出的数据库的表错了
rs是用户表,rs1才是你想循环输出的表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式