Mysql

select * from table limit (start-1)*limit,limit;

其中start是页码,limit是每页显示的条数。limit是一个变量。

    int pages=0;            //待显示页面
    int count=0;            //总条数
    int totalpages=0;        //总页数
    int limit=10;            //每页显示记录条数    
    //计算记录总数的第二种办法:使用mysql的聚集函数count(*)
    ResultSet sqlRst = sqlStmt.executeQuery("select count(*) from user");
    if(sqlRst.next()){
        count = sqlRst.getInt(1);//结果为count(*)表,只有一列。这里通过列的下标索引(1)来获取值
    }    
    //由记录总数除以每页记录数得出总页数
    totalpages = (int)Math.ceil(count/(limit*1.0));
    //获取跳页时传进来的当前页面参数
    String strPage = request.getParameter("pages");
    //判断当前页面参数的合法性并处理非法页号(为空则显示第一页,小于0则显示第一页,大于总页数则显示最后一页)
    if (strPage == null) { 
        pages = 1;
    } else {
        try{
            pages = java.lang.Integer.parseInt(strPage);
        }catch(Exception e){
            pages = 1;
        }
        
        if (pages < 1){
            pages = 1;
        }
        
        if (pages > totalpages){
            pages = totalpages;
        }                            
    }
    //由(pages-1)*limit算出当前页面第一条记录,由limit查询limit条记录。则得出当前页面的记录
    sqlRst = sqlStmt.executeQuery("select * from user order by user_id limit " + (pages - 1) * limit + "," + limit);
    while (sqlRst.next()){//遍历显示}

贺作伟
17 声望0 粉丝