天天看點

jsp+MySQL的查詢結果分頁顯示[執行個體]

宸查??璇???浠ユ?ц???浠g????

??瀛??璋ㄤ?涓轟釜浜哄???璁闆???

璇峰ぇ瀹剁??烘??瑙???寤鴻????璋㈣阿锛?

?

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%

?//椹卞?ㄧ?搴???锛?姣?杈??т?锛?濡???浣???ysql5,??宸辨?廣??

?String driverName="com.mysql.jdbc.Driver";

?String userName="root";//?版??搴??ㄦ?峰??

?String userPasswd="12345";//瀵???

?String dbName="ziyuan";//?版??搴???

?String tableName="zyd_user"; //琛ㄥ??

//杩??ュ??绗?覆

String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;

Class.forName(driverName).newInstance();

Connection connection=DriverManager.getConnection(url);

Statement statement = connection.createStatement();

//姣?椤墊?劇ず璁闆??? int PageSize = 4; //姣?椤墊?劇ず璁闆??? int StartRow = 0; //寮?濮??劇ず璁闆???缂??? int PageNo=0;//??瑕??劇ず??椤墊?? int CounterStart=0;//姣?椤甸〉??????濮??? int CounterEnd=0;//?劇ず椤電??????澶у?? int RecordCount=0;//?昏?闆???

int MaxPage=0;//?婚〉?? int PrevStart=0;//??涓?椤? int NextPage=0;//涓?涓?椤? int LastRec=0;

int LastStartRecord=0;//????涓?椤靛?濮??劇ず璁闆???缂???

//?峰????瑕??劇ず??椤墊?幫??辯?ㄦ?鋒??浜? if(request.getParameter("PageNo")==null){ //濡???涓虹┖锛???琛ㄧず绗?1椤? ? if(StartRow == 0){

???? PageNo = StartRow + 1; //璁懼??涓?

? }

}else{

? PageNo = Integer.parseInt(request.getParameter("PageNo")); //?峰??ㄦ?鋒??浜ょ??椤墊?? ? StartRow = (PageNo - 1) * PageSize; //?峰?寮?濮??劇ず??璁闆?缂??? }

//??涓烘?劇ず椤電?????伴?????ㄦ????????锛???濡??誨?辨??涓??鵑〉锛???涓????藉???舵?劇ず100涓??炬?ャ???????規??褰?????椤墊?版?劇ず

//涓?瀹??伴????椤甸?㈤?炬??

//璁劇疆?劇ず椤電??????濮???!

? if(PageNo % PageSize == 0){

?? CounterStart = PageNo - (PageSize - 1);

? }else{

?? CounterStart = PageNo - (PageNo % PageSize) + 1;

? }

CounterEnd = CounterStart + (PageSize - 1);

%>

<html>

<head>

<title>??椤墊?劇ず璁闆?</title>

<link rel="stylesheet" href="style.css" target="_blank" rel="external nofollow" type="text/css">

<style type="text/css">

<!--

.STYLE13 {font-family: "骞煎??"}

.STYLE18 {font-size: 14px}

-->

</style>

</head>

<%

//?峰???昏?闆??? ResultSet rs = statement.executeQuery("select count(*) from zyd_user" );

rs.next();

RecordCount = rs.getInt(1);

//rs = statement.executeQuery("SELECT usercode,username,password,comcode,flag_level,flag_status FROM zyd_user ORDER BY usercode DESC LIMIT "+StartRow+", "+PageSize);

rs = statement.executeQuery("SELECT usercode,username,password FROM zyd_user ORDER BY usercode LIMIT "+StartRow+", "+PageSize);

//?峰???婚〉?? MaxPage = RecordCount % PageSize;

if(RecordCount % PageSize == 0){

? MaxPage = RecordCount / PageSize;

}else{

?? MaxPage = RecordCount/PageSize+1;

}

%>

<body class="UsePageBg STYLE13 STYLE18">

<table width="100%" bordercolor="#000000" class="InternalHeader">

?<tr>

?? <td width="24%"><span class="STYLE13">??椤墊?劇ず璁闆?</span></td>

??? <td width="76%">

??? <span class="STYLE13"><%="?誨??+RecordCount+"?¤?闆? - 褰???椤碉?"+PageNo+"/"+MaxPage %>??? </span></td>

?</tr>

</table>

<br>

<table width="100%" bordercolor="#000000" class="NormalTableTwo">

? <tr>

??? <td width="18%" align="center" valign="middle" bordercolor="#000000" class="InternalHeader STYLE13 " >浠g??</td>

??? <td width="20%" align="center" valign="middle" bordercolor="#000000" class="InternalHeader STYLE13 " >濮???</td>

?</tr>

<%

int i = 1;

while (rs.next()) {

? int bil = i + (PageNo-1)*PageSize;

%>

?<tr>

??? <td align="center" valign="middle" bordercolor="#000000" class="NormalFieldTwo" ><span class="STYLE13"><%=rs.getString(1)%></span></td>

??? <td align="center" valign="middle" bordercolor="#000000" class="NormalFieldTwo" ><span class="STYLE13"><%=rs.getString(2)%></span></td>

? </tr>

<%

? i++;

}%>

</table>

<br>

<table width="100%" class="InternalHeader">

? <tr>

?? <td class="STYLE13"><div align="center">

<%

?? out.print("<font size=4>");

? //?劇ず绗?涓?椤墊??????涓?椤電???炬?? ? //濡???褰???椤典???绗?1椤碉????劇ず绗?涓?椤靛????涓?椤電???炬?? ? if(PageNo != 1){

??? PrevStart = PageNo - 1;

??? out.print("<a href=main_data.jsp?PageNo=1>绗?涓?椤?</a>: ");

??? out.print("<a href=main_data.jsp?PageNo="+PrevStart+">??涓?椤?lt;/a>");

? }

? out.print("[");

?? //???伴??瑕??劇ず??椤電??

?? for(int c=CounterStart;c<=CounterEnd;c++){

?? if(c <MaxPage){

???? if(c == PageNo){

?????? if(c %PageSize == 0){

???????? out.print(c);

?????? }else{

????????? out.print(c+" ,");

?????? }

???? }else if(c % PageSize == 0){

??????? out.print("<a href=main_data.jsp?PageNo="+c+">"+c+"</a>");

???? }else{

??????? out.print("<a href=main_data.jsp?PageNo="+c+">"+c+"</a> ,");

???? }

?? }else{

???? if(PageNo == MaxPage){

????? out.print(c);

????? break;

???? }else{

??????? out.print("<a href=main_data.jsp?PageNo="+c+">"+c+"</a>");

???? break;

?? }

? }

}

out.print("]");;

if(PageNo < MaxPage){ //濡???褰???椤典???????涓?椤碉????劇ず涓?涓?椤甸?炬?? ??? NextPage = PageNo + 1;

??? out.print("<a href=main_data.jsp?PageNo="+NextPage+">涓?涓?椤?lt;/a>");

}

//???跺???褰???椤典???????涓?椤碉?瑕??劇ず????涓?椤電???炬?? if(PageNo < MaxPage){

?? LastRec = RecordCount % PageSize;

?? if(LastRec == 0){

????? LastStartRecord = RecordCount - PageSize;

?? }

?? else{

????? LastStartRecord = RecordCount - LastRec;

?? }

?? out.print(":");

??? out.print("<a href=main_data.jsp?PageNo="+MaxPage+">????涓?椤?lt;/a>");

? }

? out.print("</font>");

%>

</div></td>

</tr>

</table>

<span class="STYLE13">

<%

? rs.close();

? statement.close();

?? connection.close();

%>

</span>

</body>

</html>

</style>

?

?

?

?

?

?

?