发新话题
打印

挑战程序高手,相信你们从来都没有做过!

现在有这样一个案例:
数据库里有ID(自动排序),NAME字段
数据库里面的记录如下:
ID  NAME
1   张一
3   李二
4   王三
7   丁四
10  刘五
12  黄六
13  陈七
......

ID号是自动排序的,其中有几条记录已被删除,已经你看到的不是连续的.


现客户要求显示的格式为:
按ID降序显示,但是不显示ID号,而是显示该数据在数据库中的实际序号(连续的),并每页显示3条.
如下:

第一页:
序号 姓名
7    陈七
6    黄六
5    刘五

第二页:
序号 姓名
4    丁四
3    王三
2    李二

第三页:
序号 姓名
1    张一

-----------------------
我当时做的是
<%
sql="select * from table1 order by id desc"

.....

rs.pagesize=15
rs.AbsolutePage=page

for i=1 to rs.pagesize
    IF rs.eof THEN EXIT FOR
%>
序号                          姓名
<%=rs.pagesize*(page-1)+i %>  <%=rs("NAME")%><br>
<%
rs.movenext
next

%>

第一页  上一页  下一页  最后一页

------------
但是显示的是:
第一页:
序号 姓名
1    陈七
2    黄六
3    刘五

第二页:
序号 姓名
4    丁四
5    王三
6    李二

第三页:
序号 姓名
7    张一

根据题目的要求,所以就不正确了,请问这个程序你能写出来吗??

TOP

能做出来~~~

不过嫌你能吹!这要算高手程序?那我早成高手了!可惜我还在入门阶段
======
还有:这有什么难做的?你将数据库有多少条记录取出来倒序输出不就OK了,记录集按ID倒序取出不就OK了?

打比方你这个:总共有七条,那倒序输出的时候就:

7-(page-1)*3

不就OK了~~

TOP

rs.pagesize=15
rs.AbsolutePage=page

totalrecord=rs.recordcount //统计下总共有多少记录
for i=1 to rs.pagesize
IF rs.eof THEN EXIT FOR
%>
序号 姓名
<%=rs.pagesize*(page-1)+i %><%=totalrecord%> <%=rs("NAME")%><br>
<%
totalrecord=totalrecord-1 //把总记录倒数
rs.movenext
next

%>

TOP

先得到一共多少记录,用int sum = select count(*) from table1 ,得到7,然后
for i=1 to rs.pagesize 改成从0循环,再
把rs.pagesize*(page-1)+i 改成sum-i不就行了

TOP

发新话题