分页程序代码(mysql数据库的简单分页)

1.首先需要有方法的支持。
  public class TestPage{
//  取得记录总数:
 
     public int getRowNum(String where)throws Exception{
        try{
            String sql="select count(*) from dc_magic_maps"+where;
            ResultSet rs=mng.executeSql(sql);

            while(rs.next()){
                    return rs.getInt(1);

            }

             return 0;
        }catch (Exception ex) {
      ex.printStackTrace();
            throw ex;
     }
    }

 //取得要显示的记录:
  public ArrayList loadByWhere(String where,int beginLimit,int endLimit) throws Exception {
    try {
      if (where == null) {
        where = "";
      }
      String sql = "select * from dc_magic_maps " + where+" limit "+beginLimit+","+endLimit;//重要的是这里
      ResultSet rs = mng.executeSql(sql);
      ArrayList alist = new ArrayList();

      while (rs.next()) {
        alist.add(getAppsFromDB(rs));
      }

      return alist;
    }
    catch (Exception ex) {
      ex.printStackTrace();
      throw ex;
    }
  }
}
  2.页面程序:
 
//----------------分页begin-------------------

TestPage appmanager=new TstPage();   //----------------注意:修改为自己的类

int list_size=10; //每页显示条数

int atAllNum=0; //显示条数总计数
int page_num;  //当前页号-1,作为limit条件 page_num*list_size 显示的数据库开始条数
int pageCount; //总页数
int currentPageNum=1;//当前页号
try {
 
  page_num=Integer.parseInt(request.getParameter("p"));
  currentPageNum=page_num;
} catch (Exception ex) {
  page_num= 1;
}

atAllNum=appmanager.getRowNum(""); //----------------注意:修改为自己的类,得到显示总数

 pageCount=atAllNum+list_size-1;
 pageCount/=list_size;

if(page_num>pageCount) page_num=pageCount;

if(page_num>0){page_num--;//为了读取数据的开始
}else{
   page_num=0;
}

//----------------分页end-------------------

 

*************************************************************************


//显示控制
 
 ArrayList apps=appmanager.loadByWhere("",page_num*list_size,list_size);  //----------------注意:修改为自己的类

 Iterator itrApps=apps.iterator();

 for(int i=0;i<10;i++){
  //循环........
 }


*************************************************************************

 

<!----分页信息显示和控制begin--------------------------------------------------->
<form name="toPage" action="" method="POST">
  <div align="right">共<u><%=atAllNum%></u>条记录 第<u><%=page_num+1%>/<%=pageCount%></u>页
                  <input type='hidden' name='p' value=''>
                  <%
java.util.Enumeration enums = request.getParameterNames();
String ssst;
for(; enums.hasMoreElements(); ) {
  ssst = (String)enums.nextElement();
  if(!"p".equalsIgnoreCase(ssst)) {
    out.println("<input type='hidden' name='" + ssst + "' value='" + request.getParameter(ssst) + "'>");
  }
}
if(page_num > 0) {
%>
                  <a href="#" onClick="document.toPage.p.value='<%=page_num%>'; document.toPage.submit();">上一页</a>
                  <%
}
page_num += 2;
if(pageCount>= page_num) {
%>
                  <a href="#" onClick="document.toPage.p.value='<%=page_num%>'; document.toPage.submit();">下一页</a>
                  <% } %>
  跳到
  <input name="text" type="text" id="txtpNum" value="<%=currentPageNum%>" size="3" maxlength="128">
  页
  <input name="Submit" type="button" onClick="document.toPage.p.value=document.toPage.txtpNum.value;
document.toPage.submit()" value="GO">
  &nbsp;&nbsp;
  </div>
</form>
<!-------------------------------分页信息显示和控制end------------------------------------------>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值