php简单的分页原理
来源:互联网 发布:linux系统解压缩文件 编辑:程序博客网 时间:2024/04/30 17:09
运用php来实现分页原理解析,
下边我以用户表的例子讲解下。
<?php
//获取此时你要显示的是第几页
$page =$_GET['p'];
$pageSize=9;//每页显示数据的个数
$showPage=5;//在页码区域要显示的个数
我的在这里显示的是5页每页显示9条数据。
$conn=mysql_connect("$mysql_server_name","$mysql_username","$mysql_password") ;
//这句的($page-1)*$pageSize 这个是你在执行sql时查询数据的起始位置,比如$qage = 1时,当前为第一页,就从第一条数据查询9条数据
$result=mysql_query($sql,$conn);
?>
在这里写上你的页面布局
<?php
//得到 当前用户表里数据的总数
$total_sql="SELECT COUNT(*)FROM 用户表名";
$total_result=mysql_fetch_array(mysql_query($total_sql));
$total=$total_result[0];
//计算页数
$total_pages =ceil($total/$pageSize);
mysql_close($conn);
/**3显示数据+分页条**/
//计算偏移量
$pageoffset=($showPage-1)/2;
$page_banner="<div class='pageview' >";
//判断是否是第一页,如果是第一页的话这两个按钮可点击,否则不可点击
if($page > 1){
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p= 1 '' class='prev-link link' >首页</a>";
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."' class='prev-link link'><上一页</a>";
}
else{
$page_banner.="<span class='prev-link link'> <a>首页</a></span>";
$page_banner.="<span class='prev-link link'> <a><上一页</a></span>";
}
//初始化起始于结束的页码数据
$start=1;
$end = $total_pages;
/*只有在总页码数大于要展示的页码个数时才会执行为了显示页码的省略号*/
//此时如果点击在后几页,前边会显示省略号
if($total_pages >$showPage) {
if($page >$pageoffset+1){
$page_banner.="...";
}
//当页数大于2页时初始化开始与结束的页码
if($page > $pageoffset){
$start =$page - $pageoffset;
$end=$total_pages > $page+$pageoffset ? $page+$pageoffset :$total_pages;
}
//当页码小于3时初始化开始与结束的页码
else{
$start=1;
$end=$total_pages > $showPage ? $showPage : $total_pages;
}
if($page + $pageoffset > $total_pages){
$start=$start-($page+$pageoffset-$end);
}
}
//循环输出中间显示的页码
for($i=$start;$i<=$end;$i++){
//定义当前页不可点击
if($page==$i){
$page_banner.="<span class ='link'>$i</span>";
}else{
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".$i."' class='link'>$i</a>";
}
}
//页码数大于要显示的页码数时显示省略号 点击的页码在前边时显示后边的省略号
if($total_pages>$showPage&&$total_pages>$page+$pageoffset){
$page_banner.="...";
}
//判断是否达到最后一页是否可显示
if($page <$total_pages){
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."' class='link next'>下一页></a>";
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($total_pages)."' class='link next'>尾页</a>";
}
else{
$page_banner.="<span class ='disable'> <a>尾页</a></span>";
$page_banner.="<span class ='link next'> <a>下一页></a></span>";
}
$page_banner.="共{$total_pages}页";
echo $page_banner;
?>
外加css
.pageview{width:550px; margin: 40px auto; margin-right:409px;padding: 10px 0px;}
.pageview{width:550px; margin: 50px auto;}
.pageview {padding: 12px 0;text-align: center ;line-height: 26px;}
.pageview a{text-decoration: none;}
.pageview .link {display: inline-block;padding: 0 10px;color: #fff;background-color:#7eade5;border-radius: 3px;height: 27px;margin: 0 0 2px 3px;border: 0;cursor: pointer}
.pageview .hover,.pageview a.link:hover {background-color: #00adc6 }
.pageview .nub input {width: 55px;text-align: center;font: 700 12px/25px Arial;border: 1px solid #ddd;background-color: #fff; margin: 0 5px;}
.bigtit,.bigtit .h2,.rastbox .h2 { line-height: 40px }
.pageview span.link { background-color: #ddd; cursor: not-allowed}
- php简单的分页原理
- PHP分页的原理
- 简单的分页原理
- 简单地解释PHP分页原理及我的代码
- 简单的PHP 分页
- php实现简单分页原理,更易懂!
- 一个简单的PHP分页
- 简单的PHP 分页程序
- 简单的PHP分页程序
- php简单的分页技术
- 简单的php分页功能
- 最简单的php分页
- PHP简单的分页类
- php:PHP分页原理
- php分页原理
- PHP分页原理
- php分页原理
- PHP 分页原理解析
- 选择恐惧症的福音!教你认清MVC,MVP和MVVM
- 用VS2010编译C++项目时出现这样的错误:
- leetCode 145:Binary Tree Postorder Traversal
- iOS _MJRefresh 导入最新Xcode 报错 解决方法
- Url转图片
- php简单的分页原理
- CoreGraphics CGPath(路径)
- 每天laravel-20160717|Command-1
- stringByAppendingPathExtension拼接路径
- Centos 6.5 编译安装Nginx+php+Mysql
- 获取路径的最后一个文件名lastPathComponent
- 二叉树的中序遍历
- C++中STL库中的assign函数
- 沉浸式状态栏Immersive Mode & 透明式状态栏Translucent Bars