大家帮忙修改一下这个分页类的代码(搜索时第一页正常,第二页开始就显示所有数据了)

enjoyeagle 2004-09-14 06:45:42
这些代码是别人写的,后来我拿来用的时候加上了搜索功能,调用时才发现搜索时第一页正常,第二页开始就显示所有数据了(他原先没考虑要搜索的情况),我知道是参数没传递过去,不过不知如何修改了,望各位帮忙,解决后立即给分。
相关代码:
分页功能做成了一个类,类中关键代码:
sub guide(first_image,prev_image,next_image,last_image)
if nowpage<>1 then '首页 Response.Write "<a href=?nowpage=1"&postall&">"&first_image&"</a> "
else
Response.Write first_image&" "
end if

if nowpage<>1 then ’上页
response.write "<a href=?nowpage="&prev_page&postall&">"&prev_image&"</a> "
else
Response.Write prev_image&" "
end if

if (nowpage<total_page) then ‘下页 Response.Write "<a href=?nowpage="&next_page&postall&">"&next_image&"</a> "
else
Response.Write next_image&" "
end if

if nowpage<total_page then ’尾页
Response.Write "<a href=?nowpage="&last_page&postall&">"&last_image&"</a> "
else
Response.Write last_image&" "
end if
end sub

调用代码:
page1.guide "首页","上页","下页","尾页"
page1为从类中派生的一个对象。

好像关键是怎么样在把recordset对象传给类,类中好像默认是重新初始化类,然后检索所有数据?

另:我知道如何重新写一个分页程序,不过想把这个类完善一下以后方便用,请帮忙。
...全文
193 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
panzi667 2004-09-17
  • 打赏
  • 举报
回复
应该是参数的问题
enjoyeagle 2004-09-17
  • 打赏
  • 举报
回复
呵呵,基本上大家都说得对,偶也基本上都知道。
终于搞定了。
结了。
huhanshan013 2004-09-15
  • 打赏
  • 举报
回复
想想也知道
比如你按照一定规则查找,而你点击下一页之后,这些查找规则就没有了,只剩下你的翻页到下一页的规则,那当然是全部查找了。
现在该明白怎么做了吧,把这个页面接受到的参数全部再传一遍,保证点击下一页的时候的规则和本页一样!
enjoyeagle 2004-09-15
  • 打赏
  • 举报
回复
tomtown530(梦想一定会实现!) ,这个我也想到过,不过传过去后类中怎么修改才能正常显示呢?比如这句
Response.Write "<a href=?nowpage=1"&postall&">"&first_image&"</a> "
肯定是要改一下的了,我不知该怎么改啊,能不能详细点说说。
jiansheep 2004-09-14
  • 打赏
  • 举报
回复
该说的都说了,我来迟老
  • 打赏
  • 举报
回复
教你绝招-》
page1.guide "首页&参数对","上页&参数对","下页&参数对","尾页&参数对"
就是每一个页变量中加入参数对传递给类就一切OK
:)
咏帆 2004-09-14
  • 打赏
  • 举报
回复
楼上的不对吧

如果在搜索时,点上,下一页,就不是想要的结果了!~~

加一个session变量吧!~

保存搜索的内容,当点上,下一页后,再在程序中判断是不是有搜索

再分页!~
孟子E章 2004-09-14
  • 打赏
  • 举报
回复
例子
<%@ Language=VBScript %>
<!--#include file="cn.asp"-->
<%
Response.Write "<h3>分页例子(通用分页方法)</h3>"
Dim cn
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open Application("EdustarInfo_connstring")

'************************************************************************************
'
' 分页函数的例子
'
'************************************************************************************

' 定义当前页
Dim CurrentPage

' 文件名
Dim FileName

'每页显示的记录个数
Dim PageItems
PageItems = 5

'记录总数
Dim TotalNumber

FileName = "_page.asp"

Sql = "select * from [User]"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open Sql, cn, 3, 1
TotalNumber = rs.RecordCount
CurrentPage = Request.QueryString("page")
If CurrentPage = "" Then CurrentPage = Request.Form("page")
CurrentPage = Trim(CurrentPage)
On Error Resume Next
Err.Clear
CurrentPage = CLng(CurrentPage)
If Err.number <> 0 Then CurrentPage = 1
On Error Goto 0

Dim n
If TotalNumber Mod PageItems = 0 Then
n = TotalNumber \ PageItems
Else
n = TotalNumber \ PageItems + 1
End If
If CurrentPage < 1 Or CurrentPage > 1000 Then CurrentPage = 1
If CurrentPage > n Then CurrentPage = n

rs.Move (CurrentPage - 1) * PageItems
Dim j,i
j = 1
Response.Write "<table border style='font-size:9pt'><tr>"
For i = 0 To rs.Fields.Count - 1
Response.Write "<td>" & rs.Fields(i).Name & "</td>"
Next
Response.Write "</tr>"

While (j < PageItems) And Not rs.EOF
Response.Write "<tr>"
For i = 0 To rs.Fields.Count - 1
Response.Write "<td>" & rs(i).Value & "</td>"
Next
j = j + 1
rs.MoveNext
Response.Write "</tr>"
Wend
rs.Clone
Set rs = Nothing
Response.Write "</table>"

ShowPages TotalNumber, PageItems, FileName, n



'定义分页的函数,以TotalNumber,PageItems,FileName,n作为函数的入口。
Function ShowPages(TotalNumber, PageItems, FileName,n)
Response.Write "<table width='100%' style='font-size:9pt'>" & vbCrLf
Response.Write "<form method=Post action=" & filename & ">" & vbCrLf
Response.Write "<tr>" & vbCrLf
Response.Write "<td align=center>" & vbCrLf
Response.Write "记录分页 "
If CurrentPage < 2 Then
Response.Write "<font color='#999966'>首页 上一页</font> "
Else
Response.Write "<a href=" & FileName & "?page=1>首页</a> "
Response.Write "<a href=" & FileName &"?page=" & CurrentPage-1 & ">上一页</a> "
End If
If n - CurrentPage < 1 Then
Response.Write "<font color=999966>下一页 尾页</font>"
Else
Response.Write "<a href=" & FileName & "?page=" & (CurrentPage + 1)
Response.Write ">下一页</a> <a href=" & FileName & "?page=" & n & ">尾页</a>"
End If
Response.Write " 页次:<b><font color=red>" & CurrentPage & "</font>/" & n &"</b>页 "
Response.Write " 转到:<input name='page' size=4 maxlength=10>"
Response.Write "<input class=buttonface type=submit value='转到'>" & vbCrLf
Response.Write "</td>" & vbCrLf
Response.Write "</form>"
Response.Write "</tr>"
Response.Write "</table>" & vbCrLf
End Function
%>
taomaintao 2004-09-14
  • 打赏
  • 举报
回复
每一次都要把参数传递起走。
nowpage="&next_page&postall这句

28,390

社区成员

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

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