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) { ...
随机推荐
- Knockout Mvc Compoment FrameSet
Knockout Mvc Compoment FrameSet 框架文件结构 01- 网站(表现层),mvc主要作用视图展示. 02- 模型(Model),主要作用承载视图数据结构,网站前后台 ...
- 统一我的博客文章的CSS样式代码
一.前因后果 之前写博客的时候也有写一些CSS代码来美化,不过都是凌乱的,每次再写一篇,又得重头来过去想,或者去拷贝原来的CSS设置.由于逻辑性不强,找一个配套的格式出来要花费不少时间. 今天我把部分 ...
- 老李分享:Eclipse中开发性能测试loadrunner脚本
老李分享:Eclipse中开发性能测试loadrunner脚本 前篇我分享了如何用loadrunner搭建javauser的性能测试脚本环境,本次我来告诉大家如何在eclipse开发loadrunne ...
- 《ECMAScript标准入门》第二版读书笔记
title: <ECMAScript标准入门>第二版 date: 2017-04-10 tags: JavaScript categories: Reading-note 2015年6月, ...
- IONIC2新建项目并添加导航
一. 基础搭建 1. 新建IONIC2项目 ionic start myApp tabs --v2 不加--v2会新建ionic1的项目 2. 运行项目 cd myApp io ...
- C++11 新特性总结
前言 转载请注明出处,感谢! C++11 的新特性 1 变量和基本类型 1.1 long long 类型 扩展精度浮点数,10位有效数字 1.2 列表初始化 初始化的几种不同形式,其中用花括号来初始化 ...
- 【转载】关于c++中的explicit
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示: class String { String ( const char* p ); ...
- 关于block使用的几点注意事项
1.在使用block前需要对block指针做判空处理. 不判空直接使用,一旦指针为空直接产生崩溃. if (!self.isOnlyNet) { if (succBlock == NULL) { // ...
- 转账示例(四):service层面实现(线程管理Connection,AOP思想,动态代理)(本例采用QueryRunner来执行sql语句,数据源为C3P0)
用了AOP(面向切面编程),实现动态代理,service层面隐藏了开启事务.1.自行创建C3P0Uti,account数据库,导入Jar包 2.Dao层面 接口: package com.learni ...
- 优化php性能的一点总结
图示为100个并发,请求1000次目标地址 进行测试 最重要的两个参数:Requests per second :每秒接受请求数,这里每秒接收101个请求 Time per request:一个请求用 ...