<p>分页显示数据库记录</p>
<table width="424" height="60" border="1" bordercolor="red" style="border-collapse: collapse">
<tr>
<td>学生编号</td>
<td>学生姓名</td>
<td>学生性别</td>
<td>出生日期</td>
<td>学生日期</td>
<td>学生班级</td>
</tr>
<%
try{
String url="jdbc:mysql://localhost:3306/test";
String username="root";
String password="123456";
Connection conn=null;
Statement statement=null;
ResultSet rs=null;
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url,username,password);
statement=conn.createStatement();
String sql="select * from student";
rs=statement.executeQuery(sql);
int intPageSize=3;//每个页面记录数
int intRowCount;//总记录数
int i=0;
int intPageCount;//总页数
int intPage; //待显示的页码
String strPage;
strPage=request.getParameter("page");//待显示的页码
if(strPage==null){
intPage=1;
}else{
intPage=java.lang.Integer.parseInt(strPage);
}
if(intPage<1){
intPage=1;
}
rs.last();
intRowCount=rs.getRow();
intPageCount=(intRowCount+intPageSize-1)/intPageSize;
if(intPage>intPageCount){
//当前页大于总页数时,设为最大
intPage=intPageCount;
}
if(intPageCount>0){
rs.absolute((intPage-1)*intPageSize+1);
}
while(i<intPageSize&&!rs.isAfterLast()){
%>
<tr>
<td><%=rs.getString("id") %></td>
<td><%=rs.getString("name") %></td>
<td><%=rs.getString("sex") %></td>
<td><%=rs.getString("birth") %></td>
<td><%=rs.getString("score") %></td>
<td><%=rs.getString("class") %></td>
</tr>
<%
rs.next();
i++;
}
rs.close();
statement.close();
conn.close();
%>
共<%=intRowCount%>个记录,分<%=intPageCount %>页显示,
当前页是:第<%=intPage %><br><br>
选择要显示的页数:
<%
for(int j=1;j<=intPageCount;j++){
out.print("<a href='page.jsp?page="+j+"'>"+j+"</a> ");
}
%>
<br><br>
<%
}catch(Exception e){
e.printStackTrace();
}
%>
</table>