在web管理过程中,我们经常遇到这样的问题:
表单查询结果分页时做分页链接比较麻烦;在非第一页修改记录又后返回第一页。
这两个问题解决办法也很简单,现在做个总结:
以一个简单的新闻list管理举例:
功能:读取数据库记录,并实现分页,具有表单提交查询功能,在页面上能删除。
<%
'定义分页程序用全局变量
dim icount,page_total,page_no
'info1为提交标识,info2为表单提交信息
dim info1,info2
info1=trim(request.QueryString("info1"))
info2=trim(request.Querystring("info2"))
if info2=""then
info2=ProtectSQL(request.form("info2"))
end if
'获取当前页面Url
Dim tpath,tstring
page_no=request.QueryString("page_no")
tstring=Request.ServerVariables("QUERY_STRING")
if page_no>1 then
tstring=replace(tstring,"&action=del","")
else
if request("info2")<>"" then
tstring=replace(tstring,"&action=del","")
else
tstring=replace(tstring,"action=del","")
end if
end if
tpath="http://"Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")&"?"&tstring
select case info1
case "del"
call newsdel()
case else
call newslist()
end select
'查询数据库并生成页面代码省略
'只列出一条记录
"" then
response.write"&"
end if
end if
%>
action=del&newsid=<%=rs("news_id")%>">删除
'删除程序
sub newsdel()
id=trim(request.QueryString("id"))
strsql="delete from news where news_id="&id&""
conn.execute(strsql)
msgbox"删除成功!","GoUrl","http://"&tpath
end sub
'分页程序
public sub showpage()
if icount="" then
icount=0
end if
Dim query, a, x, temp
action = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")
query = Split(Request.ServerVariables("QUERY_STRING"), "&")
For Each x In query
a = Split(x, "=")
If StrComp(a(0), "page_no", vbTextCompare) <> 0 Then
temp = temp & a(0) & "=" & a(1) & "&"
End If
'防止重复page_no
temp=replace(temp,"&page_no="&int(page_no),"")
Next
response.write""
Response.Write(""
end sub
%>
有点迷糊了,应该有更好的办法,不过程序确实可以使用了!
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论