<?php
 /**
  * @desc created by sublime text3
  * @author jxl <[57953279@qq.com>]>
  * @since 2017/05/06 23:06
  */
 $host="localhost";
 $user='root';
 $pass='';
 $link=mysql_connect($host,$user,$pass) or die('数据库连接失败');
 mysql_select_db('demo');
 mysql_query('set names "utf8"');

 $pageSize=10;//每页5条
 $bothNum=4;//当前页左右各显示4个页码
 $cur_page=isset($_GET['cur_page'])?$_GET['cur_page']:1;//当前页数

 $sql="select * from test_db";
 $res=mysql_query($sql);
 $total=mysql_num_rows($res);//总记录数
 $pageNum=ceil($total/$pageSize);//总页数

 $start=($cur_page-1)*$pageSize;
 $sql="select * from test_db limit $start,$pageSize";
 $res=mysql_query($sql);
 while ($row=mysql_fetch_array($res)) {
     echo $row['id'].'---'.$row['name'].'---'.$row['age'];
     echo '<hr/>';
 }

 //上一页
 $pagestr="";
 if($cur_page==1){
     $pagestr.='<span>上一页</span>';
 }else{
     $lastPage=$cur_page-1;
     $pagestr.="<a href='mysqldemo.php?cur_page=$lastPage'>上一页</a>"."  ";
 }
 // 想象分页如下,目前第 10 页,它两边最多只有 4 (bothnum) 个数字
 // 1 ...  6 7 8 9 *10* 11 12 13 14 15 ... 100
 // echo $pagestr;
 // 首页
 if($cur_page-$bothNum>1){
     $pagestr.="<a href='mysqldemo.php?cur_page=1'>首页</a>";
     $pagestr.="<span>...</span>";
 }
 //当前页的左边
 for($i=$bothNum;$i>=1;$i--){
     if(($cur_page - $i) < 1 ) { // 当前页左边花最多 bothnum 个数字
          continue;
      }
     $lastPage=$cur_page-$i;
     $pagestr.="<a href='mysqldemo.php?cur_page=$lastPage'>$lastPage</a>"."  ";
 }
 //当前页
 $pagestr.="<span>$cur_page</span>"."  ";
 //当前页右边
 for($i=1;$i<=$bothNum;$i++){
     if(($cur_page + $i) > $pageNum) { // 当前页右边最多 bothnum 个数字
         break;
     }
     $lastPage=$cur_page+$i;
     $pagestr.="<a href='mysqldemo.php?cur_page=$lastPage'>$lastPage</a>"."  ";

 }

 //尾页
 if(($cur_page+$bothNum)<$pageNum){
     $pagestr.="<span>...</span>"."  ";
     $pagestr .= '<a href="?cur_page='.$pageNum.'">尾页</a>'."  ";
 }
 //下一页
  if($cur_page == $pageNum) {
        $pagestr .= '<span>下一页</span>';
    } else {
           $nextPage=$cur_page+1;
        $pagestr .= "<a href='mysqldemo.php?cur_page={$nextPage}'>下一页</a>";
    }
 echo $pagestr;
 echo "<hr/>";
 echo '当前页数为:'.$cur_page.',总页数为:'.$pageNum; 

PHP简单分页省略中间页码的更多相关文章

  1. JavaScript简单分页,兼容IE6,~3KB

    简介 兼容IE6+及现代浏览器的简单分页,支持同一页面多个分页. 使用 Browser <link rel="stylesheet" href="css/GB-pa ...

  2. vue.js 2.0实现的简单分页

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...

  3. 通过 Django Pagination 实现简单分页

    作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 当博客上发布的文章越来越多时,通常需要进行分页显示,以免所有的文章都堆积在一个页面, ...

  4. MVC简单分页

    对Car汽车表分页 实现简单分页,放在这里方便查看回顾,自定义每页几条有点问题,有待完善······ 1.新建mvc项目 2.添加linq to sql 数据库连接 3.添加CarBF类 using ...

  5. 使用Vs2005打造简单分页浏览器(1)原创

    原文:使用Vs2005打造简单分页浏览器(1)原创 使用Vs2005打造简单分页浏览器(1)原创1引言2功能3实现过程以及关键点4总结5不足之处6其他7 代码下载 1    引言很早就有搞一个浏览器的 ...

  6. MVC001之mvcpager简单分页

    描述:用mvcpager实现简单分页功能 参考网址: http://www.cnblogs.com/iamlilinfeng/archive/2013/03/11/2951460.html http: ...

  7. ASP.NET MVC 简单分页代码

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. mysql大数据量使用limit分页,随着页码的增大,查询效率越低下

    1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count当起始页较小时,查询没有性能问题 ...

  9. Asp.net MVC 简单分页 自做简单分页

    Asp.net MVC 简单分页:   public static string Pager(int page,int pageSize,int total)         {           ...

随机推荐

  1. PPT自动载入图片并矩阵分布

    最近有学生问到,能不能快速的向PPT一个页面里插入成百张图片,并让它们按统一大小的矩形排布到页面上.我写了以下代码可以在第1页中按照指定横向和纵向矩形数目,填充指定路径下的图片. Sub LoadPi ...

  2. Xmpp实现简单聊天系列 --- ①openfire部署

    1. 下载最新的openfire安装文件 官方下载站点:http://www.igniterealtime.org/downloads/index.jsp#openfire 2. 下载完成后,执行你的 ...

  3. html实现 页面禁止右键 禁止复制 禁止图片拖动 禁止复制和剪切

    众所周知,一般的屏蔽的方法是用JS来编写的脚本,但是也可以直接通过修改网页属性的方法来屏蔽右键 禁止复制. 禁止右键 oncontextmenu="return false" 禁止 ...

  4. 不忘初心 --- 重读<<The C Programming Language>>

    这篇文章应该发布在好几年前,2011年计算机界大师Dennis Ritchie仙逝,那时对大师的映象还停留在大一刚学编程时:Unix的合作开发者,C语言的发明人.通过网上的纪念文章<<Un ...

  5. android正则表达式隐藏邮箱地址中间字符

    // String emailStr = email.substring(0, email.lastIndexOf("@"));// if (emailStr.length() & ...

  6. Linux 安装SVN服务器 (转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  7. Java常用的八种排序算法与代码实现

    1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中. 将第一个数和第二个数排序,然后构成一个有序序列 将第三个数插入进去,构成一个新的有序序列. 对第四个数.第五个数--直 ...

  8. angularJS绑定数据中对标签转义的处理

    一.问题 默认情况下,angularJS绑定的数据为字符串文本,不会对其中包含的html标签进行转义生成格式化的文本.在实际工作时碰到接口返回的数据带有html格式时该如何处理. 二.解决办法 1.引 ...

  9. jenkins+webhook+docker做持续集成

    简介:我们现在都流行把项目封装成docker的镜像,不过实际用的时候就会发现很麻烦,我们每次更改代码了以后都要打包成docker容器 ,事实证明项目比较多的时候真的会让人崩溃,我这边用spring c ...

  10. 概念学习 - JNDI, JDBC, ODBC, DataSource

    layout: post title: 概念学习 - JNDI, JDBC, ODBC, DataSource --- 最近在学习Java Hibernate,对数据库资源访问这块好多概念模糊,所以在 ...