蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年8月25日 8:28

[ASP]关于排序问题...

现在一个页面为会员列表页.列出了会员的一些相关信息.其中有两个字段为:注册时间(reg).访问次数(login).
如果这两个参数都没有跟的时候会员按ID降序排列:select*from userlist order by id desc
reg=1时按注册时间降序排列
reg=2时按注册时间升序排列
login=1时按访问次数降序排列
login=2时按访问次数升序排列

现在问题如下:如果跟了两个参数,比如reg=2&login=1 的话
select*from userlist order by reg asc,login desc
参数情况有很多种,比如
reg为空&login=1
reg=1&login=2
reg=2&login为空
等等.....
我尝试过用if .. end if等
发现写了非常多行的代码,要怎么样才能最简单的写这个语句呢.达到相关效果呢
请赐教!!!
Thanks


ding

看了一半就头大了,呵,电脑和书还是不一样的啊。帮顶吧。

呵呵,你可以换个角度想问题嘛,写if语句时不要同时判断两个条件嘛,一个一个判断,最后再连起来呀:
sql="select*from userlist order by "       'by 后面有个空格不要忘了
dim tp                    '这个变量用来存放order by后面的部分
tp=""                      '初始化
if reg =1 then
   tp="reg desc,"     '后面那个逗号不要忘了,
elseif reg=2 then
   tp ="reg asc,"
end if                      '到这里,已经判断完了reg的排序方式了,排序语句也有了           
if login =1 then
   tp=tp&"login desc,"
elseif login=2 then
   tp=tp&"login asc,"
end if                      '到这里已判断完了login的排序方式了,
'然后组装查询语句
sql=sql&tp&"id desc"
'ok到此结束了,去运行sql吧




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com