一个数组的问题.

th001 2005-04-03 01:01:41
我有如下一段代码:
本想实现以下功能,当点击删除的时候,自动删除掉相应的内容,例如:在message表中message的值为:
|你|好|么?
点击 '你'"删除" 想让其删除'你'字.

<!--#include file="conn.asp"-->
<%
Dim username,realname,userid,message,tip
set rs=server.createobject("adodb.recordset")
sql="select * from message"
rs.open sql,cn,1,3
message=rs("message")
tip=Split(message,"|")
count=UBound(tip) - LBound(tip) + 1
%>

<% =count %>
<% ="<BR>" %>

<%
for i=1 to count-1
response.write tip(i)
%>

<A HREF="show_message.asp?messageid=<%=i%>">删除</A>

<%
next
%>

<% ="<BR>" %>

<%
message1=""
%>

<% id=request("messageid") %>
<% ="<BR>" %>
<% =id %>
<% ="<BR>" %>

<%
for i=0 to count-1
if i<>CInt(id) then
message1=message1&"|"&tip(i)
end if
'response.write tip(i)
next
%>


<%
for i=1 to count-1
response.write tip(i)&" "
next
%>

<% =message1 %>


<%
rs.close
sql="update message set message='"&message1&"'"
rs.open sql,cn,1,3

%>


运行结果如下:

4
你 删除 好 删除 么? 删除


你 好 么? |你|好|么?

确实 按相应的删除会删掉相应的字,但是我发现一个很奇怪的事情,就是如果按 删除'你'倒也罢了,如果按 删除'好'地址栏出现../show_message.asp?messageid=2的字样,如果再按刷新,则第一个 '你'字也不见了,要是 按删除 '么?'刷新,每刷一次前面的就掉一个,请问这到底是怎么回事情?
|你|好| 这样的情况使用message=rs("message") tip=Split(message,"|")数组内是什么样子?为什么?怎么改?
...全文
156 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymyal123 2005-04-03
  • 打赏
  • 举报
回复
把问题说简单点好吗
jarraytan 2005-04-03
  • 打赏
  • 举报
回复
没看你的代码,但是根据你的描述很明显的事实是,你没进行表单重复提交处理。就是说因为缓存机制,你刷新一次页面,就会进行一次表单数据的提交。这里也就是删除你的数组元素了。

很简单的个方法是处理完表单后对页面重转向。若是你说只能看这个页面也可以,处理完后重新加载一次页面就可以了。

response.redirect "thispage.asp"

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧