一个简单的分页,新手求教

lml926it 2011-07-25 10:02:35
<!--#include file="Conn.asp"-->
<%
sql="select * from T_User"
set rs=Conn.Execute(sql) '设置页大小
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试</title>
<style type="text/css">
a {
font-size: 9pt;
color: #000000;
text-decoration: none;
}
</style>
</head>

<body>
<p align="center"><a href="addUser.asp">添加用户</a></p>
<table align="center" width="50%" border="1">
<tr>
<td>用户编号</td>
<td>用户名</td>
<td>用户真实姓名</td>
<td>操作</td>
</tr>
<%
do while not rs.eof
%>
<tr>
<td><%=rs("id")%></td>
<td><%=rs("loginid")%></td>
<td><%=rs("zsName")%></td>
<td>
<a href="updUser.asp?id=<%=rs("id")%>">编辑</a>
<a href="delUser.asp?id=<%=rs("id")%>">删除</a>
</td>
</tr>
<%
rs.movenext
loop
%>
<tr>
<td colspan="4" align="center">
<a href="show.asp">上一页</a>
<a href="show.asp">下一页</a>
</td>
</tr>
</table>
</body>
</html>
代码上面给出来了 就加个分页上去就OK 想向大家学习下,因为本来是ASP.NET的,但是要我学它的前身ASP所以我觉得差别

不太,我唯一的问题是不太懂分页里面的流程,看了一些示例,感觉比较复杂没ASP.NET灵活一样。请大家给我在上面的代码上

加上分页的功能,探讨下···
...全文
98 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lightning-McQueen 2011-07-28
  • 打赏
  • 举报
回复
嘿嘿[Quote=引用 9 楼 chinmo 的回复:]
我估计你asp.net是用控件做的程序,分页代码所有的程序逻辑几乎一样,就只是一些变量名不一样而已!
比如总数,每页条数,以及翻页的变量,基本就这些就可以做一个分页
如果真的懂程序,这些应该是相同的,可况你还说你看别人的代码都看不懂,说明你对分页的基本都不懂,只知道控件来做
[/Quote]
blackhenryxu 2011-07-27
  • 打赏
  • 举报
回复
hi

<!--
pageName:splitPageTest.asp
conn.asp
set conn=Server.CreateObject("ADODB.Connection")
str = "driver={MySQL odbc 5.1 Driver};server=localhost;port=3306;uid=root;pwd=;database=henryhomepagedb"
conn.open str
-->
<!--#include file="Conn.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试</title>
<style type="text/css">
a {
font-size: 9pt;
color: #000000;
text-decoration: none;
}
</style>
</head>
<%

dim i,intPage,page,pre,last,filepath
sql="select * from T_User"
set rs = server.CreateObject("adodb.recordset")
rs.PageSize = 10 '这里设定每页显示的记录数
rs.CursorLocation = 3
rs.Open sql,conn,0,2,1
pre = true
last = true
page = trim(Request.QueryString("page"))

if len(page) = 0 then
intpage = 1
pre = false
else
if cint(page) =< 1 then
intpage = 1
pre = false
else
if cint(page) >= rs.PageCount then
intpage = rs.PageCount
last = false
else
intpage = cint(page)
end if
end if
end if
if not rs.eof then
rs.AbsolutePage = intpage
end if
%>
<!--循环开始-->
<body>
<p align="center"><a href="addUser.asp">添加用户</a></p>
<table align="center" width="50%" border="1">
<tr>
<td>用户编号</td>
<td>用户名</td>
<td>用户真实姓名</td>
<td width="46%">操作</td>
</tr>
<%
for i=1 to rs.PageSize
if rs.EOF or rs.BOF then exit for
%>
<tr>
<td><%=rs("id")%></td>
<td><%=rs("loginid")%></td>
<td><%=rs("zsName")%></td>
<td>
<a href="updUser.asp?id=<%=rs("id")%>">编辑</a>
<a href="delUser.asp?id=<%=rs("id")%>">删除</a>
</td>
</tr>
<%
rs.movenext
next
%>

<tr>
<%if rs.pagecount > 0 then%>
<td width="13%" align="left">当前页<%=intpage%>/<%=rs.PageCount%></td>
<%else%>
<td width="41%" align="left" >当前页0/0</td><%end if%>
<td width="46%" align="right" colspan="3"> <a href="splitPageTest.asp?page=1">首页</a>|
<%if pre then%>
<a href="splitPageTest.asp?page=<%=intpage -1%>">上页</a>| <%end if%>
<%if last then%>
<a href="splitPageTest.asp?page=<%=intpage +1%>">下页</a> |<%end if%>
<a href="splitPageTest.asp?page=<%=rs.PageCount%>">尾页</a>|转到第
<select name="sel_page" onchange="javascript:location=this.options[this.selectedIndex].value;">
<%
for i = 1 to rs.PageCount
if i = intpage then%>
<option value="splitPageTest.asp?page=<%=i%>" selected><%=i%></option>
<%else%>
<option value="splitPageTest.asp?page=<%=i%>"><%=i%></option>
<%
end if
next
%>
</select>页</font>
</td>
</tr>
</table>
<%
rs.close
set rs = nothing
conn.close
set conn = nothing
%>
</body>
</html>
lml926it 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 black_henry_xu 的回复:]
hi

HTML code


<!--
pageName:splitPageTest.asp
conn.asp
set conn=Server.CreateObject("ADODB.Connection")
str = "driver={MySQL odbc 5.1 Driver};server=localhost;port=3306;uid=root;pwd=;databa……
[/Quote]

觉得你这个不错,就选你了。恭喜得分!
豆虫 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 chinmo 的回复:]

我估计你asp.net是用控件做的程序,分页代码所有的程序逻辑几乎一样,就只是一些变量名不一样而已!
比如总数,每页条数,以及翻页的变量,基本就这些就可以做一个分页
如果真的懂程序,这些应该是相同的,可况你还说你看别人的代码都看不懂,说明你对分页的基本都不懂,只知道控件来做
[/Quote]
呵呵
lml926it 2011-07-26
  • 打赏
  • 举报
回复
求教求救 怎么没人进来写了
  • 打赏
  • 举报
回复
我估计你asp.net是用控件做的程序,分页代码所有的程序逻辑几乎一样,就只是一些变量名不一样而已!
比如总数,每页条数,以及翻页的变量,基本就这些就可以做一个分页
如果真的懂程序,这些应该是相同的,可况你还说你看别人的代码都看不懂,说明你对分页的基本都不懂,只知道控件来做
弑虎兽 2011-07-26
  • 打赏
  • 举报
回复
灌灌水哈
亚细亚 2011-07-25
  • 打赏
  • 举报
回复
lz要设置记录集的pagesize ,cachesize,absolutepage等属性
  • 打赏
  • 举报
回复
嘿嘿,偶来看看...
lml926it 2011-07-25
  • 打赏
  • 举报
回复
看了LS这代码感觉有用户控件的影子
挨踢直男 2011-07-25
  • 打赏
  • 举报
回复
<!--#include file="Conn.asp"-->

<%Sub ShowPage()%>
<table width="100%" border="0" cellpadding="1" cellspacing="0">
<form method="post" onSubmit="return false;">
<tr>
<td align="center">共<b><%=DataCount%></b>条信息 <b><%=MaxPerPage%></b>条/页
共<b><%=PageCount%></b>页</td>
<td align="right">
<%
'设置分页页码开始===============================
MinPageNum=Page-PerPageNum'计算页码开始值
MaxPageNum=Page+PerPageNum'计算页码结束值

If(MinPageNum<1) Then'如果页码开始值小于1则=1
MinPageNum=1
MaxPageNum=PerPageNum*2+1
End if

If(Page>1) Then'如果页码大于1则显示(第一页)
response.write ("<a href='"& PageUrl &"?Page=1"&url&"' class='Black'>首页</a> ")
End If

If(Page>1) Then'如果页码开始值大于1则显示(更前)
response.write ("<a href='"& PageUrl &"?Page="& Page-(1) &url&"' class='Black'>上页</a> ")
End If

If(MaxPageNum>PageCount) Then'如果页码结束值大于总页数,则=总页数
If MinPageNum>1 Then
MinPageNum=PageCount-(PerPageNum*2)
If MinPageNum<1 Then
MinPageNum=1
End If
End If
MaxPageNum=PageCount
End If

For i = MinPageNum To MaxPageNum'循环输出页码
If(i=Page) Then
Response.Write ("<strong>"& i &"</strong> ")
Else
Response.Write ("<a href="& PageUrl &"?Page="& i &url&" class='Black'>["& i &"]</a> ")
End If
Next

If(Page<PageCount) Then'如果页码结束值小于总页数则显示(更后)
Response.Write ("<a href='"& PageUrl &"?Page="& Page+(1) &url&"' class='Black'>下页</a> ")
End If

If(Page<PageCount) Then'如果页码小于总页数则显示(最后页)
Response.Write ("<a href='"& PageUrl &"?Page="& PageCount &url&"' class='Black'>尾页</a> ")
End If
'设置分页页码结束===============================
%>
直接到 </td>
<td width="30" align="center">
<input name="Page" type="text" value="<%=Page%>" size="3" onKeyDown='if (event.keyCode==13) window.location.href="<%=PageUrl%>?Page="+ this.form.Page.value+"<%=Url%>";' class="BlueInput">
</td>
<td width="12" align="center">页</td>
<td width="44" align="center">
<input type="Button" name="GoPage" value="前往" onClick='window.location.href="<%=PageUrl%>?Page="+ this.form.Page.value+"<%=Url%>";'>
</td>
</tr>
</form>
</table>
<%End Sub%>
<%
PerPageNum = 2
Page = Clng(Request("Page"))
MaxPerPage = 22
DataTable = "t_user"
PageUrl = Request.ServerVariables("Path_Info")
Taxis = " Order By ID Desc"

Set Rs=Server.CreateObject("ADODB.Recordset")

StrSQL="Select ID From "&DataTable&" Where 1=1"


StrSQL=StrSQL&Taxis

Rs.open StrSQL,Conn,1,1

DataCount=Rs.RecordCount

If(DataCount>0) Then'如果记录总数=0,则不处理
If(DataCount Mod MaxPerPage=0)Then'如果记录总数除以每页条数有余数,则=记录总数/每页条数+1
PageCount=Int(DataCount/MaxPerPage)'获取总页数
Else
PageCount=Int(DataCount/MaxPerPage)+1'获取总页数
End If

'获取本页需要用到的id============================================
'读取所有记录的id数值,因为只有id所以速度很快

Rs.PageSize = MaxPerPage '每页显示记录数
If Page<1 Then Page = 1
If Page>PageCount Then Page = PageCount
If PageCount> 0 Then Rs.absolutepage = Page

For I=1 To Rs.PageSize
If Rs.EOF Then Exit For
If(I=1)Then
ID=Rs("ID")
Else
ID=ID &","&Rs("ID")
End If
Rs.MoveNext
Next
'获取本页需要用到的id结束============================================
End If

Rs.Close

%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试</title>
<style type="text/css">
a {
font-size: 9pt;
color: #000000;
text-decoration: none;
}
</style>
</head>

<body>
<p align="center"><a href="addUser.asp">添加用户</a></p>
<table align="center" width="50%" border="1">
<tr>
<td>用户编号</td>
<td>用户名</td>
<td>用户真实姓名</td>
<td>操作</td>
</tr>

<%
If Len(ID)>0 Then
StrSQL="Select * From "&DataTable&" Where ID In("& ID &")"&Taxis
Rs.Open StrSQL,Conn,1,1
Do Until Rs.EOF

%>
<tr>
<td><%=rs("id")%></td>
<td><%=rs("loginid")%></td>
<td><%=rs("zsName")%></td>
<td>
<a href="updUser.asp?id=<%=rs("id")%>">编辑</a>
<a href="delUser.asp?id=<%=rs("id")%>">删除</a>
</td>
</tr>
<%
Rs.MoveNext
Loop
End If
%>

<tr>
<td colspan="4" align="center">
<%call ShowPage()%>
</td>
</tr>
</table>
</body>
</html>
lml926it 2011-07-25
  • 打赏
  • 举报
回复
我晕 我就是没写分页来求个高手写个简单的分页 不想1L的分页很复杂 谁勤快点帮我完工啊
loveinet_168 2011-07-25
  • 打赏
  • 举报
回复
楼主分页代码都没有写,当然分不出来啦。。上网找一个吧,很多的。
1楼都写了,不过比较复杂。

28,390

社区成员

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

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