分類ソート方法-上へ移動操作(Java版)
最近プロジェクトの中で1つの上へ下へ移動する操作に出会って、以前も見たことがあって、しかしずっと研究したことがなくて、今回のプロジェクトの中で出会って、同じく1本研究して、実は原理を実現するのもとても簡単で、はっきり言ってデータベースの中の並べ替え表の総記録の数を記録して、それから循環の回数によって、多くいくつかの隠れた変数を書いて、上に移動・下に移動する場合は判断すればよい.今、具体的なコード実装を見てみましょう.これらの操作をしたことがない友达に役立つことを望んでいます.このバージョンはjava版で、午前中にaspバージョンを書いたので、友达に役に立つことを望んでいます.具体的な実装:
以前にaspバージョンがリリースされていましたが、ここではあまり言いません.ソースコードが必要な友達がいたら、私のブログに行ってみてください.
記事のアドレス:
分類ソート方法-上へ移動操作(Java版)
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="com.util.services.DbConnection" %>
<%@ page import="java.sql.*" %>
<%!
DbConnection conn = new DbConnection();
String sql = "";
int totalNum = 0;
ResultSet rs = null;
String moveflag = "";
%>
<%
moveflag = request.getParameter("moveflag");
if(null!=moveflag && !"".equals(moveflag)){
String movetype="";
int premenuid=0;
int premenuordernum=0,nextmenuid=0,nextmenuordernum=0,nowmenuid=0,nowmenuordernum=0;
movetype = request.getParameter("movetype");
nowmenuid = Integer.parseInt(request.getParameter("nowmenuid"));
nowmenuordernum = Integer.parseInt(request.getParameter("nowmenuordernum"));
if(movetype.equals("up")){
premenuid = Integer.parseInt(request.getParameter("premenuid"));
premenuordernum = Integer.parseInt(request.getParameter("premenuordernum"));
sql = "update c_menu set ordernum="+ premenuordernum +" where menuid="+ nowmenuid;
conn.executeUpdate(sql);
sql = "update c_menu set ordernum="+ nowmenuordernum +" where menuid="+ premenuid;
conn.executeUpdate(sql);
}
if(movetype.equals("down")){
nextmenuid = Integer.parseInt(request.getParameter("nextmenuid"));
nextmenuordernum = Integer.parseInt(request.getParameter("nextmenuordernum"));
sql = "update c_menu set ordernum="+ nextmenuordernum +" where menuid="+ nowmenuid;
conn.executeUpdate(sql);
sql = "update c_menu set ordernum="+ nowmenuordernum +" where menuid="+ nextmenuid;
conn.executeUpdate(sql);
}
out.println("<script>parent.location.href='index.jsp';</script>");
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title> —— (Java )</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content=" , ,java">
<meta http-equiv="description" content=" —— (Java )">
<link rel="stylesheet" type="text/css" href="style/Styles.css">
<script language="javascript">
function moveMenu(menuid,menuordernum,movetype){
var num,prenum,premenuid,nextnum,nextmenuid,maxnum;
document.getElementById("movetype").value = movetype;
num = parseInt(menuordernum);
if(movetype=="up"){
if(num==1){
alert(" !");
}else{
prenum = document.getElementById("menuorder_"+(num-1)).value;
premenuid = document.getElementById("menuid_"+(num-1)).value;
document.getElementById("premenuid").value = premenuid;
document.getElementById("premenuordernum").value = prenum;
document.getElementById("nowmenuid").value = menuid;
document.getElementById("nowmenuordernum").value=menuordernum;
document.getElementById("form2").submit();
}
}else{
maxnum = parseInt(document.getElementById("totalMenus").value);
if(num>=maxnum){
alert(" !");
}else{
nextnum = document.getElementById("menuorder_"+(num+1)).value;
nextmenuid = document.getElementById("menuid_"+(num+1)).value;
document.getElementById("nextmenuid").value = nextmenuid;
document.getElementById("nextmenuordernum").value = nextnum;
document.getElementById("nowmenuid").value = menuid;
document.getElementById("nowmenuordernum").value = menuordernum;
document.getElementById("form2").submit();
}
}
}
</script>
</head>
<body>
<table id="Table1" cellSpacing="0" cellPadding="0" width="100%" border="0" align="center">
<tr>
<td align="center">
<table id="Table4" cellSpacing="0" cellPadding="0" width="98%" align="center" border="0">
<tr>
<td align="center">
<table class="td_table" cellspacing="1" cellpadding="0" align="center" rules="all" border="0" width="100%" ID="Table5">
<tr bgColor="#d8e5ff" height=23>
<td align="center" width="60"><b> </b></td>
<td align="center"><b> </b></td>
<td align="center" width="60"><b> </b></td>
</tr>
<%
//
sql = "select count(*) as totalNum from c_menu";
rs = conn.executeSql(sql);
if(rs.next()){
totalNum = rs.getInt("totalNum");
}
if(rs!=null){
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}
int i = 0;
//
sql = "select * from c_menu order by ordernum asc";
rs=conn.executeSql(sql);
%>
<tr>
<td colspan="10" height="1" bgcolor="#d8e5ff"></td>
</tr>
<%
String color = "";
out.println("<input type=\"hidden\" name=\"totalMenus\" id=\"totalMenus\" value=\""+totalNum+"\">");
while(rs.next()){
if(i%2==0){
color = "#f3f6ff";
}else{
color = "#ffffff";
}
%>
<tr bgcolor="<%=color%>" height=23>
<td align="center"><%=i+1%><input type="hidden" name="menuorder_<%=i+1%>" id="menuorder_<%=i+1%>" value="<%=i+1%>"><input type="hidden" name="menuid_<%=i+1%>" id="menuid_<%=i+1%>" value="<%=rs.getInt("menuid")%>"></td>
<td align="left"> <font color=red><%=rs.getString("MenuName")%></font></td>
<td align="center">
<a href="#" onclick="moveMenu('<%=rs.getInt("menuid")%>','<%=i+1%>','up');"><img src="images/icon_digg.gif" border="0" alt=" "/></a>
<a href="#" onclick="moveMenu('<%=rs.getInt("menuid")%>','<%=i+1%>','down');"><img src="images/icon_bury.gif" border="0" alt=" "/></a>
</td>
</tr>
<%
i=i+1;
}
%>
</table>
</td>
</tr>
<tr>
<td colspan="2" height="1" bgcolor="#d8e5ff"></td>
</tr>
<%
if(rs!=null){
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}
%>
</table>
</td>
</tr>
</table>
<form action="index.jsp" method="post" name="form2" id="form2">
<input type="hidden" name="moveflag" id="moveflag" value="1">
<input type="hidden" name="movetype" id="movetype">
<input type="hidden" name="premenuid" id="premenuid">
<input type="hidden" name="premenuordernum" id="premenuordernum">
<input type="hidden" name="nowmenuid" id="nowmenuid">
<input type="hidden" name="nowmenuordernum" id="nowmenuordernum">
<input type="hidden" name="nextmenuid" id="nextmenuid">
<input type="hidden" name="nextmenuordernum" id="nextmenuordernum">
</form>
</body>
</html>
以前にaspバージョンがリリースされていましたが、ここではあまり言いません.ソースコードが必要な友達がいたら、私のブログに行ってみてください.
記事のアドレス:
分類ソート方法-上へ移動操作(Java版)