php mysql 实现原理_php+mysql分页原理实现
完整代码如下:
!
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分页原理实现相关推荐
- pdo mysql 绑定查询_php mysql PDO 查询操作的实例详解
php mysql PDO 查询操作的实例详解 php mysql PDO 查询操作的实例详解 这篇文章主要介绍了php mysql PDO 查询操作的实例详解的相关资料,希望通过本文能帮助到大家,需 ...
- php mysql 日期时间_php Mysql日期和时间函数集合
收集的比较全的Mysql日期和mysql时间函数 DATE_FORMAT(date,format) 根据format字符串格式化date值.下列修饰符可以被用在format字符串中: %M 月名字(J ...
- php mysql 读取数据_PHP MySQL 读取数据
全屏 PHP MySQL 读取数据 从 MySQL 数据库读取数据 SELECT 语句用于从数据表中读取数据:SELECT column_name(s) FROM table_name 我们可以使用 ...
- php mysql 编程原理_PHP开发的原理及优势介绍
原标题:PHP开发的原理及优势介绍 在目前的网站开发语言中,比较常用的主要有:PHP.ASP ..NET.JSP等,使用最广泛的要数PHP语言了. PHP一种通用开源脚本语言.语法吸收了C语言.Jav ...
- php与mysql权威指南_PHP+MySQL全能权威指南
<PHP+MySQL全能权威指南> 第1篇PHP动态网站和PHP程序语言基础入门篇 第1章准备基础知识.开发环境及配置运行环境 1.1正确认识PHP动态网站开发 1.2安装和配置PHP动态 ...
- php mysql用户登录_php mysql实现用户登录功能的代码示例
接着上次的php mysql添加用户的功能代码,今天来学习下php实现用户登录与注销的功能,通过跟踪session会话来保存用户的登陆状态. 1,登录页面 login.php 用户登录_www.# 用 ...
- php mysql 超时时间_php mysql超时设置方法
php mysql超时设置方法,源码,参数,底层,层面,都是 php mysql超时设置方法 易采站长站,站长之家为您整理了php mysql超时设置方法的相关内容. php mysql超时设置方法: ...
- php5.5 mysql密码无法_php – Mysql无法连接 – 访问被拒绝(使用密码是)
我有11个2提供的托管,我刚刚创建了一个新的 MySQL用户,并允许它访问列出的每个操作. 我收到以下错误 Warning: mysql_connect() [function.mysql-conne ...
- php mysql 时间字段_php – MySQL中各种日期/时间字段类型的优...
> TIMESTAMP存储在MySQL专有方法中(尽管它基本上只是一个由年,月,日,小时,分钟和秒组成的字符串),此外,只要插入或更改记录,TIMESTAMP类型的字段就会自动更新.显式字段值给 ...
最新文章
- var s=+newDate();
- 【Netty】Netty 核心组件 ( Future | Channel | Selector | ChannelHandler )
- 音视频技术开发周刊 | 239
- wordvba编程代码大全_这几本基础编程书籍一定要看
- [AtCoder-ARC073F]Many Moves
- 解压后缀.tar.gz的软件包
- 最土团购程序一些常见的数据库操作
- Caliburn.Micro框架学习资料积累
- 2019最新北风网Ant+Java全套视频课程
- 机器学习 之 客户分群案例
- 权限持久化---映像劫持检测(Shift后门)
- java ws_java / javaw / javaws之间的区别
- Windows cmd快捷键
- SSM SpringBoot vue快递柜管理系统
- 【Scratch画图100例】图39-scratch实心圆 少儿编程 scratch编程画图案例教程 考级比赛画图集训案例
- Q4财报发布,腾讯音乐高质量增长背后的创新进化论
- 浙江印发政府数字化转型工作方案,多处提及电子签名、签章、印章
- 如何为PPT加上页码/总页码
- 一、概述(知识图谱构建射雕人物关系)
- 翁凯java程序设计总结(基于C语言基础上)
热门文章
- 昆仑量子计算机只是云计算模拟吧,量子模拟赛题让大学生认识未来计算发展方向...
- mysql5.6定时备份_Mysql自动备份
- 【数据结构与算法-java实现】一 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
- hadoop fs:du统计hdfs文件(目录下文件)大小的用法
- 4 文件操作 支持图片 视频 mp3 文本等
- 51单片机学习笔记之定时器程序设计
- scikit-learn 学习笔记-- Generalized Linear Models (三)
- Vim中根据正则对选中文本对齐(比如ini文件的=号对齐)
- MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)
- AJAX中的跨域问题:什么是跨域?如何解决跨域问题?