模拟百度分页算法实现

定义变量

pageSize 每一页显示的记录条件

pageNow 当前页,初始默认值为1

pageCount 总页数,有pageSize和数据库总记录数决定

公式:double res = select count(id) from 记录表

// 使用Math函数将结果向上取整

pageCount = (int) Math.ceil(res / pageSize);

pageNow是传入参数,pageCount是传出参数,pageSize内部使用页码分页显示

pageNum 每一页显示的页码数,自定义

pageStart 每一页的页码起始数,由pageNow和pageNum动态计算

pageEnd 每一页的页码结尾数 ,由pageNow和pageNum动态计算

// 模拟百度分页算法
  if (pageNow <= pageNum / 2 + 1) {
   pageStart = 1;
   pageEnd = pageNum;
  } else if (pageNow > pageNum / 2 + 1) {
   pageStart= pageNow - pageNum / 2;
   pageEnd = pageNow + pageNum / 2 - 1;
  }
  // 对pageEnd 进行校验,并重新赋值
  if (pageEnd > pageCount) {
   pageEnd = pageCount;
  }
  if (pageEnd <= pageNum) {// 当不足pageNum数目时,要全部显示,所以pageStart要始终置为1
   pageStart= 1;
  }
时间: 2024-10-22 01:50:57

模拟百度分页算法实现的相关文章

详谈javaWeb分页的实现(模拟百度分页)

本文出自 http://blog.csdn.net/tjpu_lin/article/details/41050475 最近在开发一个项目,项目中有很多数据展示的模块,所以要用到分页,网上搜了很多分页的例子,但是很多实现的方法和自身的代码实例耦合度太高,导致直接拿来用根本不行. 于是自己只能亲自上阵了,关于分页实现大体逻辑是前台需要和后台相互传递页面参数(例如当前页面,页面大小,总共页数等),后台主要接受前台穿过来的pageNum(当前页码),进行数据查询,然后查完数据后返回给前台的同时也要将页

住javaWeb分页实现(模拟百度首页)

本文来源于 http://blog.csdn.net/tjpu_lin/article/details/41050475 近期在开发一个项目,项目中有非常多数据展示的模块.所以要用到分页,网上搜了非常多分页的样例,可是非常多实现的方法和自身的代码实例耦合度太高.导致直接拿来用根本不行. 于是自己仅仅能亲自上阵了,关于分页实现大体逻辑是前台须要和后台相互传递页面參数(比如当前页面,页面大小.总共页数等),后台主要接受前台穿过来的pageNum(当前页码),进行数据查询,然后查完数据后返回给前台的同

AJAX实现分页--模拟百度搜索分页

第一部分:效果与分析 1.百度分页组件: 2.自己实现的分页: 3.分析: 百度搜索分页,如果总页数大于10,用户最多只能看到10页内容,不足10页显示全部,当点击下一页时,数字页标向前移动一个单位,当点击上一页时向后移动一个单位. 第二部分:后台实现: 1.实现思路: 后台的处理思想是这样的,通过AJAX向后台发送请求,携带一个分页对象PageBean传过去,查询完毕后返回一个新的PageBean对象. 前台传入的PageBean对象参数: 属性 名称 是否必须 默认值 pageSize 每页

C程序模拟实现银行家算法

上周又做操作系统实验,题目是用程序模拟实现银行家算法,写了半天还真有点晕,主要是因为想尽可能符合课本上的描述,所以写出来的程序就比较恶心了,好了,银行家算法就不多说了,不了解的可以先看一下百度百科上的描述,分段上代码吧.完整代码包下载地址:http://files.cnblogs.com/pianoid/Banker.rar 首先要定义一些结构体,为了符合课本描述,我只定义了一个结构体: typedef struct { int A; int B; int C;}RESOURCE; 结构体里面的

如何邀请好友注册您的网站(模拟百度网盘)

花了一年时间做了个网盘下载站点,有兴趣的朋友可以看看站名:去转盘网 其中有个需求是想模拟百度网盘的邀请好友注册功能,想了很久果然 "皇天不负有心人" ,终于整理出个思路,并且附上代码,希望各位网友多多吐槽.我的思路大体是用网络范围内唯一的字符串uuid为标识去邀请好友,邀请者给个状态位 1 代表邀请者,并给他绑定个唯一uuid.被邀请者给个标识位0 代表被邀请者,如果他注册成功,则可以根据邀请链接获得uuid去查询数据库找到邀请者,找到后给予相应积分即可,代码如下: public St

模拟百度搜索框,输入时显示历史记录

今天写了个小demo,利用本地存储的特点,模拟百度搜索框. 主要知识是利用本地存储的特点,模拟百度搜索时的历史记录显示. 主要HTML代码为 <div class="search"> <input type="text"/> <button class="btn">搜索</button> </div> <ul class="hidden"> <li&

模拟百度搜索框

在使用百度搜索是,页面会根据我们输入的内容自动匹配一些候选内容. 实现的主要过程主要是: 1.用户在输入一个字符结束后,在onkeyup事件中获取用户输入的内容. 2.根据获取到的内容向服务器发送请求,匹配到相似的数据,存到数组中. 3.判断数组是否有内容,如果有数据,就在搜索框下面遍历匹配到的内容(候选项). 首先,要写好页面布局 html部分 <html> <head> <meta http-equiv="Content-Type" content=&

模拟百度搜索代码

模拟百度搜索“2012世界末日”网页地震撕裂效果,本效果是模仿用户在百度输入“2012世界末日”后点击搜索后出来的网页效果,网页在震动,像是地震了,而后开始撕裂,然后显示出相关的文字说明,很酷的效果,希望大家可以学习借鉴. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

Webbrowser模拟百度一下子点击事件

Webbrowser模拟百度一下点击事件新建一个form,有一个button和一个webbrowser控件.然后webbrowser一开始加载的就是百度主页.然后在文本框里输入点东西,如何做到点击button就相当于点击点击webbrowser中的"百度一下"按钮? 分享到: ------解决方案--------------------refer: ? 1 2 3 4 5 6 7 8 9 10 11     private void Form1_Load(object sender,