萍慧自由空間留言本
<%//下面處理使用者的分頁請求 String string_page; int Page,RecoderPage,RecoderRow; try{string_page=request.getParameter("page"); }catch (NullPointerException e){string_page="";} try{Page=Integer.parseInt(string_page); }catch(NumberFormatException e) {Page=0; } java.sql.Connection sqlConn; //資料庫連線對象 java.sql.Statement sqlStmt; //語句對象 java.sql.ResultSet sqlRst; //結果集對象 //登記JDBC驅動對象 Class.forName ("org.gjt.mm.mysql.Driver").newInstance (); //連接資料庫 sqlConn= java.sql.DriverManager.getConnection ("jdbc:mysql://localhost/p","test",""); //建立語句對象 sqlStmt=sqlConn.createStatement (java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //執行Sql語句 String sqlQuery="select count(*) from comment"; sqlRst=sqlStmt.executeQuery (sqlQuery); sqlRst.next(); int count=sqlRst.getInt(1); //取得總的留言記錄數 if (Page>=0)RecoderPage=Page;//處理頁面 else RecoderPage=0-Page*10; if (RecoderPage>count/15){ RecoderPage=count/15; Page=RecoderPage; }//頁面越界 RecoderRow=RecoderPage*15; //取得要顯示的留言記錄號 sqlQuery="select * from comment order by userid desc limit "+RecoderRow+",15;"; //一次讀取15筆記錄 sqlRst=sqlStmt.executeQuery (sqlQuery); %> 總共有<%=count%>一則留言 <% while (sqlRst.next()) //顯示留言 { //取得下一筆記錄%> 第<%=sqlRst.getString("userid")%>條
<% } %> <% //以下將留言分頁 int i=count/15; //總頁,每頁顯示15筆記錄 int j=i/10; //總的大頁,沒10頁分一大頁 //Page 顯示的頁面 int StartPage; //int HrefPage; if (Page<0) Page=0-Page*10; //10頁分一次 StartPage=Page/10; //10頁分一次 out.print ("[共有"+(i+1)+"頁]"); //out.print ("共有"+j+"螢幕"); //out.print ("顯示第"+Page+"頁"); //out.print ("StartPage="+StartPage); if (StartPage>0) out.print ("|前10頁"); for (int k=0;k<10;k++) { int p=StartPage*10+k; if (p>i) break; if (p==Page) out.print ("|第"+Integer.toString(p+1)+"頁"); else out.print ("|第"+Integer.toString(p+1)+"頁"); } if (StartPage out.print ("|"); %> |