我把一个留言功能制成分页情况,一页显示5个留言,最后在前面加上复选框,选中可以删除,可是我发觉我把它删除之后,id本来是自动编号的,删除之后,编号不会自动往前替补,也就造成了分页不成,删除功能也不行了,怎么解决,有哪位高手帮我解决一下,万分感谢!这是分页代码:<%@page contentType="text/html; charset=gb2312" import="java.sql.*"%>
<html>
<title>管理员管理</title>
<script type="text/javascript">
function confirm(form)
{
alert("你真的要删除所选的信息吗?");
return true;
}
</script>
<body>
<font size="5">
<center><h2>我是邓景芳</h2></center>
</font>
<hr/>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:xt");
Statement smt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql;
int num=0,lastno,lastpage,nowpage,prepage,nextpage,nostart,noend;
sql="select * from message";
ResultSet rs=smt.executeQuery(sql);
rs.last();
lastno=rs.getRow();
lastpage=(int)Math.ceil((double)lastno/5);
if(request.getParameter("page")!=null){
nowpage=Integer.parseInt(request.getParameter("page"));
rs.absolute(nowpage);
}
else
nowpage=lastpage;
prepage=nowpage-1;
nextpage=nowpage+1;
if(nowpage==1)
prepage=1;
if(nowpage==lastpage)
nextpage=lastpage;
nostart=nowpage*5-4;
noend=nowpage*5;
sql="select * from message where id between "+nostart+" and "+noend;
rs=smt.executeQuery(sql);
%>
<form action="delete.jsp" method="post" onSubmit="return confirm(this);">
<% int i=1;
while(rs.next())
{ %>
<table>
<tr><td><input type="checkbox" name="Id" value='<%=i %>' /></td>
<td bgcolor='pink'>留言人</td>
<td><%=rs.getString(2)%></td><td rowspan='3'><img src="icon<%=num%>.jpg"></td></tr>
<tr><td></td><td bgcolor='pink'>信息</td>
<td><%=rs.getString(3)%></td></tr>
<tr><td></td><td bgcolor='pink'>时间</td>
<td><%=rs.getString(4)%></td></tr>
<%
num++;
if(num==5)
num=0;
out.println("</table><br>");
i++;
}
con.close();
%>
<input type="submit" value="删除选择的留言"/>
</form>
<form action="main.jsp" method="post">
<hr>
<a href="main.jsp?page=1">第一页 </a>
<a href="main.jsp?page=<%=prepage%>">上一页</a>
<a href="main.jsp?page=<%=nextpage%>">下一页</a>
<a href="main.jsp?page=<%=lastpage%>">最后一页</a>
目前页次:<font color="green">
<b><%=nowpage%></font> / <font color="red"><%=lastpage%></b>
</font>
<br/>
输入显示的页码:
<input type="text" size="3" name="page"/>
<input type="submit" value="显示留言">
</form>
<center><a href="main.jsp">回留言板</a></center>
</body>
</html>
</body>
</html>
这是删除代码:
<%@page contentType="text/html;charset=gb2312" import="java.sql.*" pageEncoding="gb2312" %>
<html>
<title>管理员管理</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<body>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:xt");
Statement smt=con.createStatement();
String ch[]=request.getParameterValues("Id");
int i=0;
if(ch!=null)
{
for(int j=0;j<ch.length;j++)
{
i=Integer.parseInt(ch[j]);
String sql1="delete * from message where id="+i;
smt.executeUpdate(sql1); }
}
%>
<script language="javascript">
alert("删除成功!");
window.location="administrater.jsp";
</script>
</body>
</html>
<html>
<title>管理员管理</title>
<script type="text/javascript">
function confirm(form)
{
alert("你真的要删除所选的信息吗?");
return true;
}
</script>
<body>
<font size="5">
<center><h2>我是邓景芳</h2></center>
</font>
<hr/>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:xt");
Statement smt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql;
int num=0,lastno,lastpage,nowpage,prepage,nextpage,nostart,noend;
sql="select * from message";
ResultSet rs=smt.executeQuery(sql);
rs.last();
lastno=rs.getRow();
lastpage=(int)Math.ceil((double)lastno/5);
if(request.getParameter("page")!=null){
nowpage=Integer.parseInt(request.getParameter("page"));
rs.absolute(nowpage);
}
else
nowpage=lastpage;
prepage=nowpage-1;
nextpage=nowpage+1;
if(nowpage==1)
prepage=1;
if(nowpage==lastpage)
nextpage=lastpage;
nostart=nowpage*5-4;
noend=nowpage*5;
sql="select * from message where id between "+nostart+" and "+noend;
rs=smt.executeQuery(sql);
%>
<form action="delete.jsp" method="post" onSubmit="return confirm(this);">
<% int i=1;
while(rs.next())
{ %>
<table>
<tr><td><input type="checkbox" name="Id" value='<%=i %>' /></td>
<td bgcolor='pink'>留言人</td>
<td><%=rs.getString(2)%></td><td rowspan='3'><img src="icon<%=num%>.jpg"></td></tr>
<tr><td></td><td bgcolor='pink'>信息</td>
<td><%=rs.getString(3)%></td></tr>
<tr><td></td><td bgcolor='pink'>时间</td>
<td><%=rs.getString(4)%></td></tr>
<%
num++;
if(num==5)
num=0;
out.println("</table><br>");
i++;
}
con.close();
%>
<input type="submit" value="删除选择的留言"/>
</form>
<form action="main.jsp" method="post">
<hr>
<a href="main.jsp?page=1">第一页 </a>
<a href="main.jsp?page=<%=prepage%>">上一页</a>
<a href="main.jsp?page=<%=nextpage%>">下一页</a>
<a href="main.jsp?page=<%=lastpage%>">最后一页</a>
目前页次:<font color="green">
<b><%=nowpage%></font> / <font color="red"><%=lastpage%></b>
</font>
<br/>
输入显示的页码:
<input type="text" size="3" name="page"/>
<input type="submit" value="显示留言">
</form>
<center><a href="main.jsp">回留言板</a></center>
</body>
</html>
</body>
</html>
这是删除代码:
<%@page contentType="text/html;charset=gb2312" import="java.sql.*" pageEncoding="gb2312" %>
<html>
<title>管理员管理</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<body>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:xt");
Statement smt=con.createStatement();
String ch[]=request.getParameterValues("Id");
int i=0;
if(ch!=null)
{
for(int j=0;j<ch.length;j++)
{
i=Integer.parseInt(ch[j]);
String sql1="delete * from message where id="+i;
smt.executeUpdate(sql1); }
}
%>
<script language="javascript">
alert("删除成功!");
window.location="administrater.jsp";
</script>
</body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货