欢迎光临
我们一直在努力

对数据库中的记录用上一条下一条显示(三)

建站超值云服务器,限时71元/月

三、bookmark/movenext/moveprevious例子

让我们看一个asp程式码当中使用bookmark/movenext/moveprevious做到上一条下一条功能的例子。

譬如asp程式码rs15.asp如下:

<%

set conn1 = server.createobject("adodb.connection")

conn1.open "dbq="& server.mappath("ntopsamp.mdb") &";driver={microsoft access driver (*.mdb)};driverid=25;fil=ms access;"

set rs2 = server.createobject("adodb.recordset")

sqlstr = "select * from 着作"

rs2.open sqlstr,conn1,1,1

bkstart = rs2.bookmark

bkend = rs2.bookmark + rs2.recordcount – 1

rs2.movenext

if request("sel") = "prev" then

rs2.bookmark = session("bookmark")

rs2.moveprevious

elseif request("sel") = "next" then

rs2.bookmark = session("bookmark")

rs2.movenext

end if

session("bookmark") = rs2.bookmark

%>

<table colspan=8 cellpadding=5 border=0>

<tr>

<td align=center bgcolor="#008080"><font color="#ffffff">书名</font></td>

<td align=center bgcolor="#008080"><font color="#ffffff">出版</font></td>

<td align=center bgcolor="#008080"><font color="#ffffff">图片</font></td>

<td align=center bgcolor="#008080"><font color="#ffffff">简介</font></td>

<tr>

<td bgcolor="f7efde" align=center><%= rs2("书名")%></td>

<td bgcolor="f7efde" align=center><%= rs2("出版")%></td>

<td bgcolor="f7efde" align=center><%= rs2("图片")%></td>

<td bgcolor="f7efde" align=center><%= rs2("简介")%></td>

</tr>

</table>

<% = session("bookmark") %>

<% if session("bookmark") > bkstart then %>

<a href=rs15.asp?sel=prev>上一条</a>

<% end if %>

<% if session("bookmark") < bkend then %>

<a href=rs15.asp?sel=next>下一条</a>

<% end if %>

<% rs2.close %>

以上的 asp程式码rs15.asp,在用户端使用浏览器,浏览执行的结果,显示上一条下一条的功能。

由session("bookmark")储存这个使用者recordset 的bookmark(书签)位置,当按下 [上一条] 超级连接时,由<a href=rs15.asp?sel=prev>上一条</a>,将sel设定为prev,并重新执行rs15.asp的asp码。由以下的程式部份,首先将bookmark 属性设为所设定书签记号的名称session("bookmark")回到上次书签的位置,然后使用moveprevious移动到上一条的位置:

if request("sel") = "prev" then

rs2.bookmark = session("bookmark")

rs2.moveprevious

elseif request("sel") = "next" then

rs2.bookmark = session("bookmark")

rs2.movenext

end if

session("bookmark") = rs2.bookmark

然后使用session("bookmark") = rs2.bookmark设定书签,session("bookmark")储存书签记号的名称。

当按下 [下一条] 超级连接时,由<a href=rs15.asp?sel=next>下一条</a>,将sel设定为next,并重新执行rs15.asp的asp码。由以上的程式部份,回到上次书签的位置,然后使用movenext移动到下一条的位置。

由<% = session("bookmark") %>显示书签的位置,请注意第一条记录的位置并非为0而是1792,因此我们必须取得第一条和第末条的书签位置值,以判断是否要显示 [上一条] [下一条] 超级连接。

为了判断是否要显示 [上一条] [下一条] 超级连接,由以下的程式部份,我们设定了两个书签,由bkstart = rs2.bookmark设定第一条的位置,由bkend = rs2.bookmark + rs2.recordcount – 1设定第末条的位置:

<%

sqlstr = "select * from 着作"

rs2.open sqlstr,conn1,1,1

bkstart = rs2.bookmark

bkend = rs2.bookmark + rs2.recordcount – 1

if session("bookmark") > bkstart then %>

<a href=rs15.asp?sel=prev>上一条</a>

<% end if %>

<% if session("bookmark") < bkend then %>

<a href=rs15.asp?sel=next>下一条</a>

<% end if %>

就可以使用if session("bookmark") > bkstart、if session("bookmark") < bkend,比较当前的位置session("bookmark")和第一条bkstart、第末条bkend的位置,来判断是否要显示 [上一条] [下一条] 的超连结。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 对数据库中的记录用上一条下一条显示(三)
分享到: 更多 (0)

相关推荐

  • 暂无文章