一条mysql语句进行分页
来源:互联网 发布:飞友网络 看准 编辑:程序博客网 时间:2024/05/29 19:13
数据库是mysql
create database bbs;
use bbs;
create table article
(
id int primary key auto_increment,
pid int,
rootid int,
title varchar(255),
cont text,
pdate datetime,
isleaf int #1-not leaf 0-leaf
);
insert into article values (null, 0, 1, '蚂蚁大战大象', '蚂蚁大战大象', now(), 1);
insert into article values (null, 1, 1, '大象被打趴下了', '大象被打趴下了',now(), 1);
insert into article values (null, 2, 1, '蚂蚁也不好过','蚂蚁也不好过', now(), 0);
insert into article values (null, 2, 1, '瞎说', '瞎说', now(), 1);
insert into article values (null, 4, 1, '没有瞎说', '没有瞎说', now(), 0);
insert into article values (null, 1, 1, '怎么可能', '怎么可能', now(), 1);
insert into article values (null, 6, 1, '怎么没有可能', '怎么没有可能', now(), 0);
insert into article values (null, 6, 1, '可能性是很大的', '可能性是很大的', now(), 0);
insert into article values (null, 2, 1, '大象进医院了', '大象进医院了', now(), 1);
insert into article values (null, 9, 1, '护士是蚂蚁', '护士是蚂蚁', now(), 0);
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<%@ page import="java.sql.*" %>
<%
Connection conn = null;
ResultSet rs=null;
Statement stmt=null;
//定义页数
int pageSize=4;
//第一页
int pageNum=1;
//sql语句中的分页位置
int startPos=0;
//判断是否字符串空,作用是防止第一次运行时会是空的
if(("").equals(request.getParameter("pageNum"))|| null ==request.getParameter("pageNum")){
pageNum=1;
}else{
//存储传过来的页数
pageNum=Integer.parseInt(request.getParameter("pageNum"));
}
//如果出现-1页的情况则转到第一页中
if(pageNum<=0){
pageNum=1;
}
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs", "root" , "root");
String sql="select count(*) from article where pid=0";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
rs.next();
//System.out.println("rs.getInt(1)/4)%2==0 =="+((rs.getInt(1)/4)%2==0) );
//这个可以算出一共是几页,也就是最后一面,如果是奇数,那么说明有条不能完整的凑成一页,但他们也得占一页
int totalPage=(rs.getInt(1)/4)%2==0 ? rs.getInt(1)/4+1:rs.getInt(1)/4;
//当下一页超过最后一页时,把最后一页给下一页
if(pageNum>totalPage){
pageNum=totalPage;
}
System.out.println("totalPage"+totalPage);
%>
<a href=index.jsp?pageNum=1>第一页</a>
<a href=index.jsp?pageNum=<%=pageNum-1 %>>上一页</a>
<a href=index.jsp?pageNum=<%=pageNum+1 %>>下一页</a>
<a href=index.jsp?pageNum=<%=totalPage %>>最后一页</a>
<br>
<%
System.out.println("rs.getInt(1)"+rs.getInt(1));
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException ex){
ex.printStackTrace();
}
%>
<%
//因为下面的SQL语句的分页需要开始位置,
//每页4条,一共可分7页,这都是从数据库中自己计算出来的结果
startPos=pageSize*(pageNum-1);
System.out.println("startPos="+startPos);
String sqlStr="select * from article where pid=0 limit "+startPos+", "+pageSize+"; ";
stmt=conn.createStatement();
rs=stmt.executeQuery(sqlStr);
while(rs.next()){
%><%=rs.getString("title") %><br><%
}
%>
<!DOCTYPE html PUBLIC "-//W
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
- 一条mysql语句进行分页
- 一条语句实现分页
- 一条分页查询的语句
- 一条mysql查询语句
- 【MySQL】如何使用C#+MySQL实现一条MySQL语句进行多表查询
- 【MySQL】如何使用C#+MySQL实现一条MySQL语句进行多表查询
- 一条 sql 语句搞定数据库分页
- 一条sql 语句搞定数据库分页
- 一条SQL语句实现数据库分页
- 简单的一条sql语句分页
- 一条sql 语句搞定数据库分页
- 一条sql 语句搞定数据库分页
- 根据mysql表中数据的存在与否,一条语句进行修改以及新增
- 分页的MYSQL语句
- mysql 分页语句
- oracle、mysql分页语句
- MySQL分页查询语句
- mysql的分页语句
- 日志-20080409
- 给GridView的行加上onmouseover 和 onmouseout属性
- 无需设置JAVA中的CLASSPATH
- 如何成为一名出色的技术及研发工程师(一)
- "服务器存储空间不足,无法处理此命令"问题解决方法
- 一条mysql语句进行分页
- 电脑象棋循序渐进(一):引言
- 取模运算符
- 一个C#写的调用外部进程类
- Winform 下无闪烁走马灯效果实现
- 一个用C#编写的自动读写配置文件的开源组件
- 记事本中的回车换行问题
- linux 命令另一篇
- [转]命令行修改网络设置ip地址、dns、网关的方法(windows)