主题:  关于多字段复杂查询排序问题!

沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#12002/7/11 19:11:25
请帮我看看下面这段代码,我想让查找出来的数据按照order by cint(id) desc进行排列,可是不知道这句话加在哪里合适,老是出错,高手请指点一二。
<%
sql="select * from wang where "
    if a1<>"0" then
    sql=sql&chr(10)& "科室='"&a1&"'"
    if b>1 then
    sql=sql&chr(10)& "and"
    b=b-1
    end if
    end if
if p<>"" then
sql=sql&chr(10)& "发送到的科室='"&p&"'"
if b>1 then
sql=sql&chr(10)& "and"
b=b-1
end if
end if
if a2<>"" then
sql=sql&chr(10)& "文件名 like '%"&a2&"%'"
if b>1 then
sql=sql&chr(10)& ""
b=b-1
end if
end if
if a3<>"" then
sql=sql&chr(10)& "文件内容 like '%"&a3&"%'"
if b>1 then
sql=sql&chr(10)& "and"
b=b-1
end if
end if
if a4<>"0" then
sql=sql&chr(10)& "文件类型 like '%"&a4&"%'"
if b>1 then
sql=sql&chr(10)& "and"
b=b-1
end if
end if
if a5<>"0" then
sql=sql&chr(10)& "文件等级 like '%"&a5&"%'"
if b>1 then
sql=sql&chr(10)& "and"
b=b-1
            end if
            end if
if len(a6)>0 then
sql=sql&chr(10)& " datediff('d',时间,now)<'"&a6&"'"
end if
set rs=server.createobject("adodb.recordset")
rs.open sql,cn,3
还有我想在该页面分页显示,可是absolutepage老是出错,翻不了呀,高手请帮忙谢谢!


难人一个……

有饭

职务:普通成员
等级:2
金币:10.0
发贴:669
#22002/7/11 19:21:37
加在最后面就好了!

absolutepage,是不是没有那么多页,比如只有2页,而你翻到了第三页。或是数据到了尾部,没有加判断语句!



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#32002/7/11 19:35:02
加了判断语句,一共有四页,进入第一页可以,刷新也可以,进入第二页就出错了,再回到第一页也出错了。


难人一个……

有饭

职务:普通成员
等级:2
金币:10.0
发贴:669
#42002/7/11 19:39:54
检查一下你的分页语句吧,反正关键也就那几句!



今晚在线

职务:普通成员
等级:3
金币:1.0
发贴:761
#52002/7/16 2:46:16
你获取分页时的变量可能不正确,如果第一页查询数据的条件where后的变量是另外获取的,分到第二页就会消失,当然不行了
建议条件变量使用?条件=<%=条件变量%>传递参数翻页时也加上~~~~

分页程序要观看程序结构方能定下结论!



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#62002/7/16 10:48:59
给大家一个分页代码

PageShowSize = 5 '每页显示多少个页
MyPageSize = 10 '每页显示多少条
    
If Not IsNumeric(Request("page")) Or IsEmpty(Request("page")) Or Request("page") <=0 Then
MyPage=1
Else
MyPage=Int(Abs(Request("page")))
End if


if rs.EOF then NoReview=1
。。。
if not NoReview then
Rs.PageSize = MyPageSize
MaxPages = Rs.PageCount
Rs.absolutepage = MyPage
total = Rs.RecordCount
i = 0
。。。
第 <%=Mypage%>/<%=Maxpages%>
页,每页 <%=MyPageSize%> 条
<%
url="pinglun.asp?NewsID=" & NewsID'注意到这没有,自己想想吧,呵        
PageNextSize=int((MyPage-1)/PageShowSize)+1
Pagetpage=int((total-1)/Rs.PageSize)+1

if PageNextSize >1 then
PagePrev=PageShowSize*(PageNextSize-1)
Response.write "上一翻页 "
Response.write "页首 "
end if
if MyPage-1 > 0 then
Prev_Page = MyPage - 1
Response.write "上一页 "
end if

if Maxpages>=PageNextSize*PageShowSize then
PageSizeShow = PageShowSize
Else
PageSizeShow = Maxpages-PageShowSize*(PageNextSize-1)
End if
If PageSizeShow < 1 Then PageSizeShow = 1
for PageCounterSize=1 to PageSizeShow
PageLink = (PageCounterSize+PageNextSize*PageShowSize)-PageShowSize
if PageLink <> MyPage Then
Response.write "[" & PageLink & "] "
else
Response.Write "["& PageLink &"] "
end if
If PageLink = MaxPages Then Exit for
Next

if Mypage+1 <=Pagetpage then
Next_Page = MyPage + 1
Response.write "下一页"
end if

if MaxPages > PageShowSize*PageNextSize then
PageNext = PageShowSize * PageNextSize + 1
Response.write " 页尾"
Response.write " 下一翻页"
End if
                
End If

Rs.close
%>