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) { ...
随机推荐
- C# 调用CMD执行命令行
这几天用c#做了一个项目,其中一个功能是要把生成的临时文件隐藏,同时,不能在屏幕上有调用CMD的痕迹,这里生成的临时文件的绝对路径为delfile为文件的绝对路径, 代码如下: private voi ...
- Debian 8开启sftp服务
看到某云的CDN居然是使用ftp这种早该淘汰的协议,不禁有些吐槽.ftp曾经作为互联网上最重要的协议,但漫长使用过程中体现出的各种缺点,已不适合再使用.其中最致命的问题就是明文传输用户密码.建议使用这 ...
- php获取checkbox数组的表单数据
提交表单的时候,对于checkbox多选框,name="field[]",此时php获取的数组为:从0开始的索引数组:如果name="field[n]" 有数字 ...
- 老李分享:持续集成学好jenkins
老李分享:持续集成学好jenkins poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest测试开发工程师就业培训请大 ...
- 手机自动化测试:appium源码分析之bootstrap四
手机自动化测试:appium源码分析之bootstrap四 Orientation是调整屏幕方向的操作 package io.appium.android.bootstrap.handler; i ...
- Alamofire源码解读系列(十二)之时间轴(Timeline)
本篇带来Alamofire中关于Timeline的一些思路 前言 Timeline翻译后的意思是时间轴,可以表示一个事件从开始到结束的时间节点.时间轴的概念能够应用在很多地方,比如说微博的主页就是一个 ...
- 使用VS2015将解决方案同步更新到Github上
如今开源已经是一种趋势与潮流了,今天就来谈一谈如何将利用VS将我们的解决方案同步更新到Github上. 第一步:登录自己的Github账号(没有的自行注册). 我的Github登录后的界面: 第二步: ...
- jmeter读取文件进行参数化时随机取值实现
jmeter能用来做参数化的组件有几个,但是都没有随机取值的功能,遇到随机取值的需求怎么办呢? 突发奇想,可以用函数_StringFromFile来实现,先来介绍下此函数: 此函数位于函数助手中, 函 ...
- donet体系结构
一.C#与.NET的关系 1.粗略地説,.net是一种在Windows平台上的编程架构----一种API.2.C#编译器专门用于.net,这表示用C#编写的所有代码总是使用.NET Framework ...
- ROS使用常见问题
1.Q:查看ros版本 A:先在终端输入roscore,打开新终端,再输入,rosparam list,再输入rosparam get /rosdistro,就能得到版本. 2.Q:运行命令$ ros ...