主题:求助按年分页问题
zszsos
[专家分:10] 发布于 2007-08-24 08:50:00
我要从数据库中读取数据 并且要按年分页 每页中只显示每一年的数据
请问这个程序应该怎么写
谢谢帮助
回复列表 (共9个回复)
沙发
wangsdong [专家分:21390] 发布于 2007-08-24 11:35:00
sql="select * from table where time like '2006%'" '假设当前页为2006
sql="select * from table where time like '2007%" '下一页为2007
sql="select * from table where time like '2005%" '上一页为2005
重要的是如何得到上、下一页是哪一年
板凳
zszsos [专家分:10] 发布于 2007-08-24 17:08:00
主要我这个东西是动态的是从数据库读取出的时间
比如表中的 time字段是存储时间的
我要把time字段中有2007年的所有数据放在一个页中显示,
我点下一页的时候就能看到2006年的数据,
在点下一页能看到2005年的
这个不知道怎么做 谢谢高手帮忙
3 楼
tianyu123 [专家分:2570] 发布于 2007-08-25 10:44:00
<%
page=request.querystring("page")
set rs=server.createobject("adodb.recordset")
if page="" then
sql="select * from table where year(time)=2007"
else
sql="select * from table where cint(year(time))="& cint(page)
end if
rs.open sql,conn,1,1
if not(rs.bof and rs.eof) then
do while not rs.eof
'输出要显示的内容
......
rs.movenext
loop
rs.close
set rs=nothing
else
if page="" then
response.write"没有2007年相关的数据!"
else
response.write"没有"&page&"相关的数据!"
end if
response.end
end if
%>
<%
if page="" then
%>
<a href="?page=2006">下一页</a>
<%
else
%>
<a href="?page=<%=page-1%>">下一页</a>
<%
end if
%>
4 楼
zszsos [专家分:10] 发布于 2007-08-27 08:23:00
我想问一下 page=request.querystring("page") 中的 page 是从哪里读取出来的.
还有
<%
if page="" then
%>
<a href="?page=2006">下一页</a>
这是什么意思?
还有这个查询语句怎么无法执行
sql="select * from table where cint(year(time))="& cint(page)
我不是很懂 帮忙解释下 谢谢
5 楼
tianyu123 [专家分:2570] 发布于 2007-08-27 09:48:00
page是从 下一页 连接点击转页后地址中获取的
<%
if page="" then
%>
<a href="?page=2006">下一页</a>
意思是: 当page获取的值为空时,执行下面的代码。
sql="select * from table where cint(year(time))="& cint(page)
上面的SQL语句无法执行,是因为你设计的数据库中time字段数据类型不是日期类型
改为下面的就可以了
sql="select * from table where time like '%"& page &"%'"
6 楼
zszsos [专家分:10] 发布于 2007-08-27 10:16:00
啊 是这样啊 我的time的类型是smalldatetime 也不可以吗?
如果这样的类型不可以 什么样的类型可以?
还有如果我想想在页面上显示"上一页"和"下一页"
应该怎么判断? 你这个只显示了下一页
还有谢谢给了我这么多解答 十分感谢
7 楼
tianyu123 [专家分:2570] 发布于 2007-08-27 19:55:00
代码中的:
sql="select * from table where year(time)=2007"
这句能执行吗?
要显示上一页:
<a href="?page=<%=page-1%>">下一页</a>
把这句替换为:
<a href="?page=<%=page+1%>">上一页</a>
<a href="?page=<%=page-1%>">下一页</a>
就可以了
8 楼
zszsos [专家分:10] 发布于 2007-08-27 21:56:00
能执行。但是感觉这个程序有点死 如果到了2008年就得改程序了
9 楼
tianyu123 [专家分:2570] 发布于 2007-09-10 13:13:00
sql="select * from table where year(time)=year(now())"
我来回复