萍慧自由空间留言本
<%//下面处理用户的分页请求 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 ("|"); %> |