zoukankan      html  css  js  c++  java
  • 分页显示

    思路:定义四个变量

    pageNow:表示第几页,改变了是有用户决定的,因此是变化的
    pageCount:共有多少页,该变量使计算出来的
    pageSize:每页显示多少记录,有程序指定,也可以由用户指定
    rowCount:共有多少条记录
     
    如何确定pageCount
    (1)if(rowCount%pageSize==0){
                    pageCount=rowCount/pageSize;
             }else{
                    pageCount=rowCount/pageSize+1;
             }
    等价于:
          pageCount=rowCount%pageSize==0?rowCount/pageSize:rowCount/pageSize+1;
    或者
          pageCount=(rowCount-1)/pageSize+1;
    案例 ManageUsers.java
    //从数据库中取出数据
            //到数据库中去验证
                    Connection conn = null;
                    PreparedStatement ps = null;
                    ResultSet rs = null;
                    //分页定义变量
                    
                    int pageNow=1;//当前页
                    //接受用户的pageNow
                    String spageNow=request.getParameter("pageNow");
                    if(spageNow!=null){
                        pageNow=Integer.parseInt(spageNow);
                    }
                    int pageSize=3;//指定显示3条记录
                    int pageCount=1;//该值是计算出来的
                    int rowCount=1;//该共有多少记录,数据库计算出来的
                    try{
                        //1加载驱动
                        
                        Class.forName("com.mysql.jdbc.Driver");
                        //2.得到连接
                        
                        conn = DriverManager.getConnection(
                                "jdbc:mysql://localhost:3306/user", "root", "123456");
                       
                         
                        //算出共有多少页
                    //1.查询rowcount
                        String sql1 ="select count(*)  from user";
                        ps = conn.prepareStatement(sql1);
                        rs=ps.executeQuery();
                        rs.next();
                        rowCount=rs.getInt(1);
                        pageCount=rowCount%pageSize==0?rowCount/pageSize:rowCount/pageSize+1;
                        
                        
                        //3.创建PrepareSatement
                        //请大家思考,如果条件是pageNow=2,pageSize=3
                        String sql = "select t.*  from (select * from user order by id) t  limit "+(pageNow-1)*pageSize+","+pageSize+"";
                       //执行操作
                        ps = conn.prepareStatement(sql);
                        rs=ps.executeQuery();
                        out.println("<table border=1px bordercolor=green 0 width=500px>");
                        out.println("<tr><th>ID</th><th>用户名</th><th>密码</th></tr>");
                        while(rs.next()){
                            out.println("<tr><td>"+rs.getInt(1)+
                                    "</td><td>"+rs.getString(2)+
                                    "</td><td>"+rs.getString(3)+
                                    "</td></tr>");
                        }
                        out.println("</table>");
                        //显示上一页
                        if(pageNow!=1){
                        out.println("<a href='/LoginServlet/ManageUsers?pageNow="+(pageNow-1)+"'>上一页</a>");
                        }
                        //显示分页
                        for(int i=1;i<=pageCount;i++){
                            out.println("<a href='/LoginServlet/ManageUsers?pageNow="+i+"'><"+i+"></a>");
                        }
                        //显示上一页
                        if(pageNow!=pageCount){
                        out.println("<a href='/LoginServlet/ManageUsers?pageNow="+(pageNow+1)+"'>下一页</a>");
                        }
                        
                        //显示分页信息
                        out.println("&nbsp;&nbsp;&nbsp;当前页"+pageNow+"/总页数"+pageCount+"<br>");
                        out.println("跳转到<input type='text' id='pageNow' name='pageNow'><input type='button' onClick='gotoPageNow()' value='跳'/>");
                        
                        
                        }catch(Exception e){
                
            }finally{
                if (ps != null) {
                    try {
                        ps.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
                if (conn != null) {
                    try {
                        conn.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
  • 相关阅读:
    java- 输入任意数据,求和
    《大道至简》 第一章 读后感
    简易四则运算小程序二
    简易四则运算小程序
    登录界面
    《构建之法》阅读笔记六
    《构建之法》阅读笔记五
    《构建之法》阅读笔记四
    《构建之法》阅读笔记三
    《构建之法》阅读笔记二
  • 原文地址:https://www.cnblogs.com/sunli0205/p/5884352.html
Copyright © 2011-2022 走看看