PHP简单分页省略中间页码
<?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简单分页省略中间页码的更多相关文章
- JavaScript简单分页,兼容IE6,~3KB
简介 兼容IE6+及现代浏览器的简单分页,支持同一页面多个分页. 使用 Browser <link rel="stylesheet" href="css/GB-pa ...
- vue.js 2.0实现的简单分页
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...
- 通过 Django Pagination 实现简单分页
作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 当博客上发布的文章越来越多时,通常需要进行分页显示,以免所有的文章都堆积在一个页面, ...
- MVC简单分页
对Car汽车表分页 实现简单分页,放在这里方便查看回顾,自定义每页几条有点问题,有待完善······ 1.新建mvc项目 2.添加linq to sql 数据库连接 3.添加CarBF类 using ...
- 使用Vs2005打造简单分页浏览器(1)原创
原文:使用Vs2005打造简单分页浏览器(1)原创 使用Vs2005打造简单分页浏览器(1)原创1引言2功能3实现过程以及关键点4总结5不足之处6其他7 代码下载 1 引言很早就有搞一个浏览器的 ...
- MVC001之mvcpager简单分页
描述:用mvcpager实现简单分页功能 参考网址: http://www.cnblogs.com/iamlilinfeng/archive/2013/03/11/2951460.html http: ...
- ASP.NET MVC 简单分页代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- mysql大数据量使用limit分页,随着页码的增大,查询效率越低下
1. 直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count当起始页较小时,查询没有性能问题 ...
- Asp.net MVC 简单分页 自做简单分页
Asp.net MVC 简单分页: public static string Pager(int page,int pageSize,int total) { ...
随机推荐
- Linux文件管理上
Linux文件管理 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 对于计算机来说,所谓的数据就是0和1的序列.这样的一个序列 ...
- nginx 配置禁用ip地址访问
做过面向公网WEB运维的苦逼们肯定见识过各种恶意扫描.拉取.注入等图谋不轨行为吧?对于直接对外的WEB服务器,我们可以直接通过 iptables . Nginx 的deny指令或者是程序来ban掉这些 ...
- macos系统下共语言gopath变量的设置
一.问题 在macos下安装golang开发环境,想更改gopath路径,通过export GOPATH=/Volume/E/go 在vscode中通过go env命令查看GOPATH还是原始默认的, ...
- 结合ThreadLocal来看spring事务源码,感受下清泉般的洗涤!
在我的博客spring事务源码解析中,提到了一个很关键的点:将connection绑定到当前线程来保证这个线程中的数据库操作用的是同一个connection.但是没有细致的讲到如何绑定,以及为什么这么 ...
- Ecplise 中 加载JDBC 连接 Mysql 数据库读取数据
准备工作 首先下载 JDBC 驱动,下载地址https://www.mysql.com/products/connector/ 将压缩包解压得到文件 mysql-connector-java-5.1. ...
- SSL证书的生成方法
在Linux下,我们进行下面的操作前都须确认已安装OpenSSL软件包. 1.创建根证书密钥文件root.key: [root@mrlapulga:/etc/pki/CA/private]#opens ...
- 关于阿里图标库Iconfont生成图标的三种使用方式(fontclass/unicode/symbol)
1.附阿里图标库链接:http://www.iconfont.cn/ 2.登录阿里图标库以后,搜索我们需要的图标,将其加入购物车,如图3.将我们需要的图标全部挑选完毕以后,点击购物车图标4.这时候右侧 ...
- Cookie中文乱码问题
页面一登录,页面二保存用户信息,放入Cookies里. 但是Cookies放入中文会引起编码问题,如报错“Control character in cookie value, consider BAS ...
- java中创建对象中使用默认构造函数的注意点
public class Test3 { private int n; Test3() { System.out.println("调用默认构造器"); } ...
- Linux学习(一)
Linux系统 1.组成部分 1.1内核负责的功能 1.1.1:系统内存管理 内存管理即管理物理内存和虚拟内存 (通过硬盘实现的,即swap space),长时间为被访问的内存块会被放到虚拟内存中,当 ...