asp搜索后将结果分页显示的问题?
'————————以下是我的查询条件iffl<>"请选择"thensql=sql+"andfenlei='"&fl&"'"endififks<>"请选择"thensql=...
'————————以下是我的查询条件
if fl<>"请选择" then
sql=sql+" and fenlei='"&fl&"'"
end if
if ks <>"请选择" then
sql=sql+" and kuanshi='"&ks&"'"
end if
if ta<>"请选择" then
sql=sql+" and tuan='"&ta&"'"
end if
if gjsc<>"请选择" then
sql=sql+" and gjsc='"&gjsc&"'"
end if
if zh<>"" then
sql=sql+" and zh='"&zh&"'"
end if
if zl1<>"" and zl2<>"" then
sql=sql+" and(zhongliang>"&zl1&" and zhongliang<"&zl2&")"
end if
sql=sql+" order by tjtime desc"
'————————以下是我的分页代码
<%
response.write "<br> 总计数据信息"&RS.RecordCount&"条 "
if page = 1 then
response.write "<font color=darkgray>首页 前页</font>"
else
response.write "<a href="&request.ServerVariables("script_name")&"?page=1>首页</a> <a href="&request.ServerVariables("script_name")&"?page="&page-1&">前页</a>"
end if
if page = allpages then
response.write "<font color=darkgray> 下页 末页</font>"
else
response.write " <a href="&request.ServerVariables("script_name")&"?page="&page+1&">下页</a> <a href="&request.ServerVariables("script_name")&"?page="&allpages&">末页</a>"
end if
response.write " 第"&page&"页 共"&allpages&"页 "
%> 展开
if fl<>"请选择" then
sql=sql+" and fenlei='"&fl&"'"
end if
if ks <>"请选择" then
sql=sql+" and kuanshi='"&ks&"'"
end if
if ta<>"请选择" then
sql=sql+" and tuan='"&ta&"'"
end if
if gjsc<>"请选择" then
sql=sql+" and gjsc='"&gjsc&"'"
end if
if zh<>"" then
sql=sql+" and zh='"&zh&"'"
end if
if zl1<>"" and zl2<>"" then
sql=sql+" and(zhongliang>"&zl1&" and zhongliang<"&zl2&")"
end if
sql=sql+" order by tjtime desc"
'————————以下是我的分页代码
<%
response.write "<br> 总计数据信息"&RS.RecordCount&"条 "
if page = 1 then
response.write "<font color=darkgray>首页 前页</font>"
else
response.write "<a href="&request.ServerVariables("script_name")&"?page=1>首页</a> <a href="&request.ServerVariables("script_name")&"?page="&page-1&">前页</a>"
end if
if page = allpages then
response.write "<font color=darkgray> 下页 末页</font>"
else
response.write " <a href="&request.ServerVariables("script_name")&"?page="&page+1&">下页</a> <a href="&request.ServerVariables("script_name")&"?page="&allpages&">末页</a>"
end if
response.write " 第"&page&"页 共"&allpages&"页 "
%> 展开
展开全部
这个做法有很多,我的习惯是将查询的条件存入Session中,这样程序写起来会比较单纯,另外也需要设计清除查询条件Session的机制。以下代码只以fenlei与kuanshi为例,其他的你自己再延伸即可。
<%
’### 清除查询条件Sesson值的机制
AppCode = "SearchOne"
If Session("LastAppCode") <> AppCode then
Session("fl") = ""
Session("ks") = ""
Session("PageNow") = ""
Session("LastAppCode") = AppCode
End If
‘### 处理查询条件的读入
If Request("fl") <> "" then
Session("fl") = Request("fl")
Session("PageNow") = "1"
Elseif Session("fl") = "" then
Session("fl") = "请选择"
Session("PageNow") = "1"
End If
If Request("ks") <> "" then
Session("ks") = Request("ks")
Session("PageNow") = "1"
Elseif Session("ks") = "" then
Session("ks") = "请选择"
Session("PageNow") = "1"
End If
'### 处理页码
If Request("Page") = "" then
If Session("PageNow") = "" then
Session("PageNow") = "1"
End If
Else
Session("PageNow") = Request("Page")
End If
‘### 开始拼接SQL语句
SQLStr = "Select * from [TABLE NAME] where ID <> 0 " '### 假设表中有一自动编号的字段名为ID,这样的写法只是为了方便之后的拼接
If Session("fl") <> "请选择" Then
SQLStr = SQLStr & “ and fenlei = '" & fl & "' "
End If
If Session("ks") <> "请选择" Then
SQLStr = SQLStr & “ and kuanshi = '" & ks & "' "
End If
SQLStr = SQLStr & " order by tjtime desc"
Set rs = Server.CreateObject("ADODB.RECORDSET")
rs.Open SQLStr, Conn, 1, 1
If Not ListRec.EOF Then nDataCnt = 50 '每页笔数
rs.PageSize = nDataCnt
nTotalCnt =rs.RecordCount '总笔数
nSum_Page= rs.PageCount '总共页数
rs.AbsolutePage=Session("PageNow") '目前页数
Else
nDataCnt = 50
nTotalCnt = 0
nSum_Page = 1
End If
%>
分页代码的部分维持你现在的结构即可,留意有些变数我跟你使用的不相同,替换一下即可
<%
If nTotalCnt = 0 then
Response.Write("目前没有数据")
Else
For I = 1 to nDataCnt
Response.Write(......)
......
rs.MoveNext
If rs.EOF then exit for
Next
End If
%>
<%
’### 清除查询条件Sesson值的机制
AppCode = "SearchOne"
If Session("LastAppCode") <> AppCode then
Session("fl") = ""
Session("ks") = ""
Session("PageNow") = ""
Session("LastAppCode") = AppCode
End If
‘### 处理查询条件的读入
If Request("fl") <> "" then
Session("fl") = Request("fl")
Session("PageNow") = "1"
Elseif Session("fl") = "" then
Session("fl") = "请选择"
Session("PageNow") = "1"
End If
If Request("ks") <> "" then
Session("ks") = Request("ks")
Session("PageNow") = "1"
Elseif Session("ks") = "" then
Session("ks") = "请选择"
Session("PageNow") = "1"
End If
'### 处理页码
If Request("Page") = "" then
If Session("PageNow") = "" then
Session("PageNow") = "1"
End If
Else
Session("PageNow") = Request("Page")
End If
‘### 开始拼接SQL语句
SQLStr = "Select * from [TABLE NAME] where ID <> 0 " '### 假设表中有一自动编号的字段名为ID,这样的写法只是为了方便之后的拼接
If Session("fl") <> "请选择" Then
SQLStr = SQLStr & “ and fenlei = '" & fl & "' "
End If
If Session("ks") <> "请选择" Then
SQLStr = SQLStr & “ and kuanshi = '" & ks & "' "
End If
SQLStr = SQLStr & " order by tjtime desc"
Set rs = Server.CreateObject("ADODB.RECORDSET")
rs.Open SQLStr, Conn, 1, 1
If Not ListRec.EOF Then nDataCnt = 50 '每页笔数
rs.PageSize = nDataCnt
nTotalCnt =rs.RecordCount '总笔数
nSum_Page= rs.PageCount '总共页数
rs.AbsolutePage=Session("PageNow") '目前页数
Else
nDataCnt = 50
nTotalCnt = 0
nSum_Page = 1
End If
%>
分页代码的部分维持你现在的结构即可,留意有些变数我跟你使用的不相同,替换一下即可
<%
If nTotalCnt = 0 then
Response.Write("目前没有数据")
Else
For I = 1 to nDataCnt
Response.Write(......)
......
rs.MoveNext
If rs.EOF then exit for
Next
End If
%>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询