请问如何实现 对在数据库中查找的结果进行动态排序?

kervinfye 2006-08-18 10:14:14
我看到前面有网友也提过这样的问题,但没有看到解决的方法。
就是点击字段实现正排和反排。
我在网上搜索了一些,也找了几个js的算法,不过好像都只对 静态的 表格数据有效,如果把那些代码
移植到的我的程序里面就会显示javascript error! 表的序列不变。

有朋友帮下忙阿。谢谢阿!!!
注:jsp+postgresql

第一次发求助帖,不大熟悉结分。不知道30分够不?
...全文
229 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kervinfye 2006-08-18
  • 打赏
  • 举报
回复
好的。我去js版看看,谢谢各位。
kervinfye 2006-08-18
  • 打赏
  • 举报
回复
可以了,谢谢。
这种方法主要是在数据库内排序,适合单表查询。如果我查找涉及到好几张关联表的话那这种方法好像不行了。
我昨天找到一些用js对表条目进行动态排序的方法。但是好像都只适用于静态数据的表格阿。
rickhunterchen 2006-08-18
  • 打赏
  • 举报
回复
建议到javascript板块去问,这种js一般都有成熟的代码。
kervinfye 2006-08-18
  • 打赏
  • 举报
回复
这个办法我想到过了,不过当时没有成功,我在试试。估计是我哪儿出问题了。
bmwei 2006-08-18
  • 打赏
  • 举报
回复
列名作为链接:
<a href='thispage.jsp?orderby=列名'>标题</a>

页面上面添加代码
<%
String orderby=request.getParameter("orderby");
if(orderby!=null){
//重新从数据库取数据,sql语句加上 "ORDER BY "+orderby
}
%>

如果还需要点一下升序,再点一下降序,就在链接上再加一个参数如:
<a href='thispage.jsp?orderby=字段名&ascOrDesc=<%=ascOrDesc%>字段名</a>
代码改为:
<%
String orderby=request.getParameter("orderby");
  String ascOrDesc=request.getParameter("ascOrDesc");
if(orderby!=null&&ascOrDesc!=null)
//重新从数据库取数据,sql语句加上 "ORDER BY "+orderby +" "+ascOrDesc
}
//然后把ascOrDesc变量的值取反(即asc变为desc或相反),用于设置链接,以便下次点击,排序逆转
if(ascOrDesc.equalsIgnoreCase("ASC"))ascOrDesc="DESC";
else if(ascOrDesc.equalsIgnoreCase("DESC"))ascOrDesc="ASC";

%>

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧