急!!如何实现内容的上移下移的排序功能

jomzhang 2007-04-23 11:11:44

这是我的代码!


<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" %>
<jsp:useBean id="Condata" scope="page" class="connection.Condata"/>
<jsp:useBean id="chStr" scope="page" class="zhstring.Str"/>

<%
ResultSet rs=Condata.executeQuery("select * from News_Active order by sortid Desc");
%>
<%
response.setHeader("refresh","10");
%>



<html>
<head>
<title>社区活动</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../style/style2.css" rel="stylesheet">
<link href="../style/htmlarea.css" rel="stylesheet">
<STYLE>
BODY {
FONT-SIZE: 12px; FONT-FAMILY: 宋体
}
TD {
FONT-SIZE: 12px; FONT-FAMILY: 宋体
}
A:link {
COLOR: #blue; TEXT-DECORATION: none
}
a.news:link {
COLOR: blue; TEXT-DECORATION: none
}
a.news:visited {
COLOR:blue; TEXT-DECORATION: none
}
a.news:hover {
COLOR: green; TEXT-DECORATION: none
}
A:visited {
COLOR:blue; TEXT-DECORATION: none
}
A:hover {
COLOR: #ff9933; TEXT-DECORATION: none
}
.toolbar {
BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: lightgrey; MARGIN-BOTTOM: 3pt; OVERFLOW: hidden; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; HEIGHT: 28px
}
.tableBorder1
{
BORDER-RIGHT: #183789 1px solid; BORDER-TOP: #183789 1px solid; BORDER-LEFT: #183789 1px solid; BORDER-BOTTOM: #183789 1px solid; BACKGROUND-COLOR: #ffffff
}
td.forumRow
{
PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BACKGROUND: #F1F3F5; PADDING-BOTTOM: 3px; PADDING-TOP: 3px
}

td.forumRowHighlight
{
PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BACKGROUND: #E4EDF9; PADDING-BOTTOM: 3px; PADDING-TOP: 3px
}

</STYLE>
<script src="../style/check.jsp"></script>

<script language="javascript" type="text/javascript">
var flag=1;
function selectAll(){
if(flag==1){
if(form1.chxSong.length!=undefined){
for (var i=0;i<form1.chxSong.length;i++)
form1.chxSong[i].checked=true;
}else{
form1.chxSong.checked=true;
}
flag=0;
}else{
if(form1.chxSong.length!=undefined){
for (var i=0;i<form1.chxSong.length;i++)
form1.chxSong[i].checked=false;
}else{
form1.chxSong.checked=false;
}
flag=1;
}
}
</script>
<script language="javascript">
function up(para)
{

document.all.flag.value="up";
document.all.sortid.value=para;
document.all.active.submit();
}
function down(para)
{
document.all.flag.value="down";
document.all.sortid.value=para;
document.all.active.submit();
}
</script>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0" >
<tr>
<td>

<table width="600" height="609" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="855" valign="top">

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tableBorder_LTR">
<tr>
<td height="20" colspan="3" bgcolor="CCCCCC"><div align="center"><strong>社区活动</strong></div></td>
</tr>

</table>

<table width="780" height="396" border="0" cellpadding="0" cellspacing="0" class="tableBorder_LBR">
<form name="form1" id="active" action="news_active_del.jsp" method="post">
<tr>

<td width="100%" valign="top"><table width="100%" height="14" border="0" cellpadding="0" cellspacing="0">
<tr bgcolor="#E4EDF9">
<td height="20" colspan="7"> <div align="center"><font color="#FF0000">*注意,在您选择删除的时候,请再检查一下.不要误删.如果要修改的话,请选择好相对应的修改项.</font></div></td>
</tr>
</table>
<table width="780" height="48" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#CCCCCC">

<tr>
<td width="34" height="27" align="center" bgcolor="#F1F3F5">
序号</td>
<td width="190" align="center" bgcolor="#F1F3F5">标题</td>


<td width="153" align="center" bgcolor="#F1F3F5">发表作者</td>

<td width="139" align="center" bgcolor="#F1F3F5">发表时间</td>
<td colspan="2" align="center" bgcolor="#F1F3F5">排序</td>
<td align="center" bgcolor="#F1F3F5">删除</td>
<td align="center" bgcolor="#F1F3F5">修改</td>
<td width="1" align="center" ></td>
</tr>
<%


int pagesize=20;
int showpage=1;
int rowcount=0;
int pagecount=0;
if(!rs.next()){
out.println("无记录!");
}else{
rs.last();
rowcount=rs.getRow();
pagecount=(((rowcount%pagesize)==0)?(rowcount/pagesize):(rowcount/pagesize+1));
String topage=request.getParameter("topage");
if(topage!=null){
showpage=Integer.parseInt(topage);
if(showpage>pagecount){
showpage=pagecount;
}else if(showpage<=0){
showpage=1;
}

}
rs.absolute((showpage-1)*pagesize+1);
for(int i=1;i<=pagesize;i++){
int Id=rs.getInt("Id");

String news_title=rs.getString("news_title");
String news_author=rs.getString("news_author");
String news_time=rs.getString("news_time");
int sortid=rs.getInt("sortid");

%>

<tr style="padding:5px;">
<td align="center" bgcolor="#E6E6E6"><%=sortid%></td>
<td align="center" bgcolor="#E6E6E6"><%=news_title%></a></td>

<td align="center" bgcolor="#E6E6E6"><%=news_author%></td>

<td align="center" bgcolor="#E6E6E6"><%=news_time%></td>
<td width="51" align="center" bgcolor="#E6E6E6"><a href="news_active_manage.jsp?active=up&Id=<%=Id%>"><img src="pic/up.gif" width="11" height="11" border="0"></a></td>

<input name="sortid" type="hidden" id="sortid" />
<td width="58" align="center" bgcolor="#E6E6E6"><a href="news_active_manage.jsp?active=down&Id=<%=Id%>"><img src="pic/down.gif" width="11" height="11" border="0"></a></td>
<td width="75" height="22" bgcolor="#E6E6E6"> <div align="center">
<input type="checkbox" name="chxSong" value="<%=Id%>"></div></td>
<td width="79" align="center" bgcolor="#E6E6E6"><a href="news_active_modify.jsp?Id=<%=Id%>">修改</a></td>
</tr>

<%
if(!rs.next())
break;
}}
%>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#F1F3F5">
<td colspan="5" align="left">
<input name="sendmail" type="submit" class="FormText1" id="act" value="删除所选"
onClick="{if(confirm('是否要删除记录?')){this.document.form1.submit();return true;}return false;}">
</td></tr>

<tr>
<td align="right" bgcolor="#E4EDF9">
当前页数:[<%=showpage%>/<%=pagecount%>] 
<%if(showpage>1){%>
<a href="news_active_manage.jsp?showpage=1">第一页</a>
<a href="news_active_manage.jsp?topage=<%=showpage-1%>">上一页</a>
<% }
if(showpage<pagecount){
%>
<a href="news_active_manage.jsp?topage=<%=showpage+1%>">下一页</a>
<a href="news_active_manage.jsp?topage=<%=pagecount%>">最后一页 </a>
<%
}
%>
</td>
</tr>

</table> </td>
</tr>
</form>

</table>

</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

...全文
343 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
emin_lee 2007-04-23
  • 打赏
  • 举报
回复
以向下调整序号为例(序号正序排列--总共10条记录,将序号为5的调整为4):
1、当你点击向下调整序号的链接或者按钮时,提交你需要调整的序号和其他相关信息给后台;
2、对数据库进行操作(交换当前序号与相邻的小序号,以下所有数据库操作语句都为同条件下):
将相邻的小序号更新为数据库中最大的序号加一(4更新为11);
将当前序号更新为相邻的小序号(5更新为4);
将最大的序号加一(原来的小序号)更新为当前序号。(11更新为5)
3、重新获取调整页面的数据信息,刷新原页面。
左大神在这 2007-04-23
  • 打赏
  • 举报
回复

xyflash 2007-04-23
  • 打赏
  • 举报
回复
帮忙顶
flyingsword945zyj 2007-04-23
  • 打赏
  • 举报
回复
太长了……
fengmingjie 2007-04-23
  • 打赏
  • 举报
回复
1,建立一个数据库表,增加一个排序字段,然后根据这个字段进行排序,每次提交的时候进行数据的定位
2,用javascript,修改记录的位置,然后重新展现table
jomzhang 2007-04-23
  • 打赏
  • 举报
回复
这是处理

能帮忙看看,有什么问题吗?

<%
String type=request.getParameter("active");
int id=Integer.parseInt(request.getParameter("Id"));

int x_id=id+1;
int rootid=0;
int xrootid=0;

if(type.equals("up"))
{
ResultSet rs1=Condata.executeQuery("select sortid from news_active where Id='"+id+"'");
ResultSet rs2=Condata.executeQuery("select sortid from news_active where Id='"+x_id+"'");
if(rs1.next())
{
rootid=rs1.getInt("sortid");

}
if(rs2.next())
{
xrootid=rs2.getInt("sortid");

}
if (rootid>1)
{
Condata.executeUpdate("update news_active set sortid='"+xrootid+ "'-1 where Id='"+x_id+'");
Condata.executeUpdate("update news_active set sortid='"+rootid+ "'+1 where Id='"+id+'");

}



}

if(type.equals("down"))
{
ResultSet rs1=Condata.executeQuery("select sortid from news_active where Id='"+id+"'");
ResultSet rs2=Condata.executeQuery("select sortid from news_active where Id='"+x_id+"'");
if(rs1.next())
{
rootid=rs1.getInt("sortid");
rs1.Close();
}
if(rs2.next())
{
xrootid=rs2.getInt("sortid");
rs2.Close();
}
if (rootid>1)
{
Condata.executeUpdate("update news_active set sortid='"+xrootid+ "'+1 where Id='"+x_id+'");
Condata.executeUpdate("update news_active set sortid='"+rootid+ "'-1 where Id='"+id+'");

}

}

%>

81,092

社区成员

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

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