jsp mysql分页显示_jsp+MySQL的查询结果分页显示[实例]

已验证可以执行的代码。

初学,谨作为个人学习记录。

请大家给出意见或建议。谢谢!

//驱动程序名,比较旧了,如果你用mysql5,自己改。

String driverName="com.mysql.jdbc.Driver";

String userName="root";//数据库用户名

String userPasswd="12345";//密码

String dbName="ziyuan";//数据库名

String tableName="zyd_user"; //表名

//连接字符串

String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;

Class.forName(driverName).newInstance();

Connection connection=DriverManager.getConnection(url);

Statement statement = connection.createStatement();

//每页显示记录数

int PageSize = 4; //每页显示记录数

int StartRow = 0; //开始显示记录的编号

int PageNo=0;//需要显示的页数

int CounterStart=0;//每页页码的初始值

int CounterEnd=0;//显示页码的最大值

int RecordCount=0;//总记录数;

int MaxPage=0;//总页数

int PrevStart=0;//前一页

int NextPage=0;//下一页

int LastRec=0;

int LastStartRecord=0;//最后一页开始显示记录的编号

//获取需要显示的页数,由用户提交

if(request.getParameter("PageNo")==null){ //如果为空,则表示第1页

if(StartRow == 0){

PageNo = StartRow + 1; //设定为1

}

}else{

PageNo = Integer.parseInt(request.getParameter("PageNo")); //获得用户提交的页数

StartRow = (PageNo - 1) * PageSize; //获得开始显示的记录编号

}

//因为显示页码的数量是动态变化的,假如总共有一百页,则不可能同时显示100个链接。而是根据当前的页数显示

//一定数量的页面链接

//设置显示页码的初始值!!

if(PageNo % PageSize == 0){

CounterStart = PageNo - (PageSize - 1);

}else{

CounterStart = PageNo - (PageNo % PageSize) + 1;

}

CounterEnd = CounterStart + (PageSize - 1);

%>

分页显示记录

//获取总记录数

ResultSet rs = statement.executeQuery("select count(*) from zyd_user" );

rs.next();

RecordCount = rs.getInt(1);

//rs = statement.executeQuery("SELECT usercode,username,password,comcode,flag_level,flag_status FROM zyd_user ORDER BY usercode DESC LIMIT "+StartRow+", "+PageSize);

rs = statement.executeQuery("SELECT usercode,username,password FROM zyd_user ORDER BY usercode LIMIT "+StartRow+", "+PageSize);

//获取总页数

MaxPage = RecordCount % PageSize;

if(RecordCount % PageSize == 0){

MaxPage = RecordCount / PageSize;

}else{

MaxPage = RecordCount/PageSize+1;

}

%>

分页显示记录
代码姓名

int i = 1;

while (rs.next()) {

int bil = i + (PageNo-1)*PageSize;

%>

i++;

}%>

out.print("");

//显示第一页或者前一页的链接

//如果当前页不是第1页,则显示第一页和前一页的链接

if(PageNo != 1){

PrevStart = PageNo - 1;

out.print("第一页 : ");

out.print("前一页");

}

out.print("[");

//打印需要显示的页码

for(int c=CounterStart;c<=CounterEnd;c++){

if(c

if(c == PageNo){

if(c %PageSize == 0){

out.print(c);

}else{

out.print(c+" ,");

}

}else if(c % PageSize == 0){

out.print(""+c+"");

}else{

out.print(""+c+" ,");

}

}else{

if(PageNo == MaxPage){

out.print(c);

break;

}else{

out.print(""+c+"");

break;

}

}

}

out.print("]");;

if(PageNo < MaxPage){ //如果当前页不是最后一页,则显示下一页链接

NextPage = PageNo + 1;

out.print("下一页");

}

//同时如果当前页不是最后一页,要显示最后一页的链接

if(PageNo < MaxPage){

LastRec = RecordCount % PageSize;

if(LastRec == 0){

LastStartRecord = RecordCount - PageSize;

}

else{

LastStartRecord = RecordCount - LastRec;

}

out.print(":");

out.print("最后一页");

}

out.print("");

%>

rs.close();

statement.close();

connection.close();

%>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值