<?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. Linux文件管理上

    Linux文件管理   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 对于计算机来说,所谓的数据就是0和1的序列.这样的一个序列 ...

  2. nginx 配置禁用ip地址访问

    做过面向公网WEB运维的苦逼们肯定见识过各种恶意扫描.拉取.注入等图谋不轨行为吧?对于直接对外的WEB服务器,我们可以直接通过 iptables . Nginx 的deny指令或者是程序来ban掉这些 ...

  3. macos系统下共语言gopath变量的设置

    一.问题 在macos下安装golang开发环境,想更改gopath路径,通过export GOPATH=/Volume/E/go 在vscode中通过go env命令查看GOPATH还是原始默认的, ...

  4. 结合ThreadLocal来看spring事务源码,感受下清泉般的洗涤!

    在我的博客spring事务源码解析中,提到了一个很关键的点:将connection绑定到当前线程来保证这个线程中的数据库操作用的是同一个connection.但是没有细致的讲到如何绑定,以及为什么这么 ...

  5. Ecplise 中 加载JDBC 连接 Mysql 数据库读取数据

    准备工作 首先下载 JDBC 驱动,下载地址https://www.mysql.com/products/connector/ 将压缩包解压得到文件 mysql-connector-java-5.1. ...

  6. SSL证书的生成方法

    在Linux下,我们进行下面的操作前都须确认已安装OpenSSL软件包. 1.创建根证书密钥文件root.key: [root@mrlapulga:/etc/pki/CA/private]#opens ...

  7. 关于阿里图标库Iconfont生成图标的三种使用方式(fontclass/unicode/symbol)

    1.附阿里图标库链接:http://www.iconfont.cn/ 2.登录阿里图标库以后,搜索我们需要的图标,将其加入购物车,如图3.将我们需要的图标全部挑选完毕以后,点击购物车图标4.这时候右侧 ...

  8. Cookie中文乱码问题

    页面一登录,页面二保存用户信息,放入Cookies里. 但是Cookies放入中文会引起编码问题,如报错“Control character in cookie value, consider BAS ...

  9. java中创建对象中使用默认构造函数的注意点

    public class Test3 {   private int n;   Test3() {      System.out.println("调用默认构造器");   }  ...

  10. Linux学习(一)

    Linux系统 1.组成部分 1.1内核负责的功能 1.1.1:系统内存管理 内存管理即管理物理内存和虚拟内存 (通过硬盘实现的,即swap space),长时间为被访问的内存块会被放到虚拟内存中,当 ...