完整代码如下:

!

html

head

-="-type"=";=GBK"

styletype="text/css"

body{font-size:12px;font-family:verdana;width:100%;

}

div.page{

text-align:center;

}

div.content{

height:300px;

}

div.pagea{

border:#aaaadd1pxsolid;text-decoration:none;padding:2px5px2px5px;margin:2px;}

div.pagespan.current{

border:#0000991pxsolid;background-color:#000099;padding:2px5px2px5px;margin:2px;color:#fff;font-weight:bold;}

div.pagespan.disable{

border:#eee1pxsolid;padding:2px5px2px5px;margin:2px;color:#ddd;}

div.pageform{

display:inline;

}

/stylebody?php

//设置级别错误,通知类除外error_reporting('E_ALL~E_NOTICE');

/**1---传入页码,使用GET获取**/$page=$_GET['p'];

/**2---根据页码取出数据:php-mysql处理**/$host="localhost";

$username="root";

$password="";

$db="test";

$pageSize=10;

$showPage=5;

//连接数据库,面向过程$conn=mysqli_connect($host,$username,$password);

if(!$conn){

echo"数据库连接失败";

exit;

}

//选择所要操作的数据库mysqli_select_db($conn,$db);

//设置数据库编码格式mysqli_query($conn,"SETNAMESUTF8");

//编写sql获取分页数据SELECT*FROM表名LIMIT起始位置,显示条数$sql="SELECT*FROMpageorderbyidASCLIMIT".($page-1)*$pageSize.",{$pageSize}";

//把sql语句传送到数据库$result=mysqli_query($conn,$sql);

//将数据显示到table中,并未table设置格式echo"divclass='content'

echo"tableborder=1cellspacing=0width=30%align=center

echo"trtdID/tdtdNAME/td/tr

while($row=mysqli_fetch_assoc($result)){

echo"tr

echo"td{$row['ID']}/td

echo"td{$row['NAME']}/td

echo"tr

}

echo"/table

echo"/div

//释放结果mysqli_free_result($result);

//获取数据总条数$total_sql="SELECTCOUNT(*)FROMpage";

$total_result=mysqli_fetch_array(mysqli_query($conn,$total_sql));

$total=$total_result[0];

$total_pages=ceil($total/$pageSize);

//关闭数据库mysqli_close($conn);

/**3---显示数据+显示分页条**/$page_banner="divclass='page'

//计算偏移量$pageoffset=($showPage-1)/2;

//两种情况下首页、上一页的显示效果if($page1){

$page_banner.="ahref='".$_SERVER['PHP_SELF']."?p=1'首页/a

$page_banner.="ahref='".$_SERVER['PHP_SELF']."?p=".($page-1)."'上一页/a

}else{

$page_banner.="spanclass='disable'首页/span

$page_banner.="spanclass='disable'上一页/span

}

//显示$start=1;

$end=$total_pages;

//当总条数大于分页数时if($total_pages$showPage){

if($page$pageoffset+1){

$page_banner.="...";

}

if($page$pageoffset){

$start=$page-$pageoffset;

$end=$total_pages$page+$pageoffset?$page+$pageoffset:$total_pages;//三段式}

//最前面几个特殊页号的显示。当前指的是页号1或者2时else{

$start=1;

$end=$showPage;

}

//最后面几个特殊页号的显示,当前显示的是页号7和8if($page+$pageoffset$total_pages){

$start=$start-($page+$pageoffset-$end);//注意理解这一句}

}

//显示页码for($i=$start;$i=$end;$i++){

//当前页页码上显示背景色if($page==$i){

$page_banner.="spanclass='current'{$i}/span

}

//非当前页码显示else{

$page_banner.="ahref='".$_SERVER['PHP_SELF']."?p=".$i."'{$i}/a

}

}

if($total_pages$showPage$total_pages$page+$pageoffset){

$page_banner.="...";

}

//两种情况下的尾页、下一页的显示效果if($page$total_pages){

$page_banner.="ahref='".$_SERVER['PHP_SELF']."?p=".($page+1)."'下一页/a

$page_banner.="ahref='".$_SERVER['PHP_SELF']."?p=$total_pages'尾页/a

}else{

$page_banner.="spanclass='disable'尾页/span

$page_banner.="spanclass='disable'下一页/span

}

$page_banner.="共{$total_pages}页,";

$page_banner.="formaction='mypage.php'method='get'

$page_banner.="到第inputtype='text'size=2value='1'name='p'页";

$page_banner.="inputtype='submit'value='确定'

$page_banner.="/form

$page_banner.="/div

echo$page_banner;

?/body/html

php mysql 实现原理_php+mysql分页原理实现相关推荐

  1. pdo mysql 绑定查询_php mysql PDO 查询操作的实例详解

    php mysql PDO 查询操作的实例详解 php mysql PDO 查询操作的实例详解 这篇文章主要介绍了php mysql PDO 查询操作的实例详解的相关资料,希望通过本文能帮助到大家,需 ...

  2. php mysql 日期时间_php Mysql日期和时间函数集合

    收集的比较全的Mysql日期和mysql时间函数 DATE_FORMAT(date,format) 根据format字符串格式化date值.下列修饰符可以被用在format字符串中: %M 月名字(J ...

  3. php mysql 读取数据_PHP MySQL 读取数据

    全屏 PHP MySQL 读取数据 从 MySQL 数据库读取数据 SELECT 语句用于从数据表中读取数据:SELECT column_name(s) FROM table_name 我们可以使用 ...

  4. php mysql 编程原理_PHP开发的原理及优势介绍

    原标题:PHP开发的原理及优势介绍 在目前的网站开发语言中,比较常用的主要有:PHP.ASP ..NET.JSP等,使用最广泛的要数PHP语言了. PHP一种通用开源脚本语言.语法吸收了C语言.Jav ...

  5. php与mysql权威指南_PHP+MySQL全能权威指南

    <PHP+MySQL全能权威指南> 第1篇PHP动态网站和PHP程序语言基础入门篇 第1章准备基础知识.开发环境及配置运行环境 1.1正确认识PHP动态网站开发 1.2安装和配置PHP动态 ...

  6. php mysql用户登录_php mysql实现用户登录功能的代码示例

    接着上次的php mysql添加用户的功能代码,今天来学习下php实现用户登录与注销的功能,通过跟踪session会话来保存用户的登陆状态. 1,登录页面 login.php 用户登录_www.# 用 ...

  7. php mysql 超时时间_php mysql超时设置方法

    php mysql超时设置方法,源码,参数,底层,层面,都是 php mysql超时设置方法 易采站长站,站长之家为您整理了php mysql超时设置方法的相关内容. php mysql超时设置方法: ...

  8. php5.5 mysql密码无法_php – Mysql无法连接 – 访问被拒绝(使用密码是)

    我有11个2提供的托管,我刚刚创建了一个新的 MySQL用户,并允许它访问列出的每个操作. 我收到以下错误 Warning: mysql_connect() [function.mysql-conne ...

  9. php mysql 时间字段_php – MySQL中各种日期/时间字段类型的优...

    > TIMESTAMP存储在MySQL专有方法中(尽管它基本上只是一个由年,月,日,小时,分钟和秒组成的字符串),此外,只要插入或更改记录,TIMESTAMP类型的字段就会自动更新.显式字段值给 ...

最新文章

  1. var s=+newDate();
  2. 【Netty】Netty 核心组件 ( Future | Channel | Selector | ChannelHandler )
  3. 音视频技术开发周刊 | 239
  4. wordvba编程代码大全_这几本基础编程书籍一定要看
  5. [AtCoder-ARC073F]Many Moves
  6. 解压后缀.tar.gz的软件包
  7. 最土团购程序一些常见的数据库操作
  8. Caliburn.Micro框架学习资料积累
  9. 2019最新北风网Ant+Java全套视频课程
  10. 机器学习 之 客户分群案例
  11. 权限持久化---映像劫持检测(Shift后门)
  12. java ws_java / javaw / javaws之间的区别
  13. Windows cmd快捷键
  14. SSM SpringBoot vue快递柜管理系统
  15. 【Scratch画图100例】图39-scratch实心圆 少儿编程 scratch编程画图案例教程 考级比赛画图集训案例
  16. Q4财报发布,腾讯音乐高质量增长背后的创新进化论
  17. 浙江印发政府数字化转型工作方案,多处提及电子签名、签章、印章
  18. 如何为PPT加上页码/总页码
  19. 一、概述(知识图谱构建射雕人物关系)
  20. 翁凯java程序设计总结(基于C语言基础上)

热门文章

  1. 昆仑量子计算机只是云计算模拟吧,量子模拟赛题让大学生认识未来计算发展方向...
  2. mysql5.6定时备份_Mysql自动备份
  3. 【数据结构与算法-java实现】一 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
  4. hadoop fs:du统计hdfs文件(目录下文件)大小的用法
  5. 4 文件操作 支持图片 视频 mp3 文本等
  6. 51单片机学习笔记之定时器程序设计
  7. scikit-learn 学习笔记-- Generalized Linear Models (三)
  8. Vim中根据正则对选中文本对齐(比如ini文件的=号对齐)
  9. MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)
  10. AJAX中的跨域问题:什么是跨域?如何解决跨域问题?