问题:ASP页面排序问题.

来源:百度知道 编辑:UC知道 时间:2024/09/20 07:12:34
做了个ASP展品展示页面,我想对产品进行按时间排序,名称排序,价格排序.

<%
a="shichangjia"
b="shichangjiae"
c="bookname"
d="adddate"
%>
<a href="?scj= <%=a%>">价格从低到高 </a> <br>
<a href="?scje= <%=b%>">价格从高到低 </a> <br>
<a href="?pname= <%=c%>">按名称排序 </a> <br>
<a href="?addtime= <%=d%>">按时间排序 </a> <br> <br>

<%
aa=request("scj")
bb=request("scje")
cc=request("pname")
dd=request("addtime")

if aa= "aa" then
set rsp=server.createobject("adodb.recordset")
sql = "select top 100 * from products order by shichangjia asc"
rsp.open sql,conn,1,3

elseif bb= "bb" then
set rsp=server.createobject("

这种方法可以实现,但对用数据库频繁调用,性能不佳。

至于你的错误是因为你传值的错误导致的!<a href="?scj= <%=a%>">这一句已经将a的值代入了,所以取值时,aa=request("scj")时取出的不是'aa',而是"shichangjia",所以你不会成功!所以要改动的!同样,你使用了不同的属性值对,如shichangjia用的是SCJ而其他的用的是其他的,所以如果客户端使用了COOKIE的话,每次aa=request("scj")都能取出值的!这时无法进行对BB的取值,也就是说,你在AA时所建立的
set rsp=server.createobject("adodb.recordset")
sql = "select top 100 * from products order by shichangjia asc"
有效,再建立BB的,很显然,造成内存的极大浪费!这不是你所想要的吧?建议用一个就可以了!如下:
<a href="?scj= <%=a%>">价格从低到高 </a> <br>
<a href="?scj= <%=b%>">价格从高到低 </a> <br>
<a href="?scj= <%=c%>">按名称排序 </a> <br>
<a href="?scj= <%=d%>">按时间排序 </a> <br>
当然取的时间也是一个就可以了:
aa=request("scj");拿取出的值与shichangjia等比较就可以了!至少不会出现我说的那种情况!顺便说一句,能少写几句就少写几句;所以IF语句只用来生成SQL语句就行,至于打开是打以统一的!如: