<?php
class SubPages{
private $each_disNums;//每页显示的条目数
private $nums;//总条目数
private $current_page;//当前被选中的页
private $sub_pages;//每次显示的页数
private $pageNums;//总页数
private $page_array = array();//用来构造分页的数组
private $subPage_link;//每个分页的链接
private $subPage_type;//显示分页的类型
/*
__construct是SubPages的构造函数,用来在创建类的时候自动运行.
@$each_disNums 每页显示的条目数
@nums 总条目数
@current_num 当前被选中的页
@sub_pages 每次显示的页数
@subPage_link 每个分页的链接
@subPage_type 显示分页的类型
当@subPage_type=1的时候为普通分页模式
example: 共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
当@subPage_type=2的时候为经典分页样式
example: 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type){
$this->each_disNums=intval($each_disNums);
$this->nums=intval($nums);
if(!$current_page){
$this->current_page=1;
}else{
$this->current_page=intval($current_page);
}
$this->sub_pages=intval($sub_pages);
$this->pageNums=ceil($nums/$each_disNums);
$this->subPage_link=$subPage_link;
$this->show_SubPages($subPage_type);
//echo $this->pageNums."--".$this->sub_pages;
}
/*
__destruct析构函数,当类不在使用的时候调用,该函数用来释放资源。
*/
function __destruct(){
unset($each_disNums);
unset($nums);
unset($current_page);
unset($sub_pages);
unset($pageNums);
unset($page_array);
unset($subPage_link);
unset($subPage_type);
}
/*
show_SubPages函数用在构造函数里面。而且用来判断显示什么样子的分页
*/
function show_SubPages($subPage_type){
if($subPage_type == 1){
$this->subPageCss1();
}elseif ($subPage_type == 2){
$this->subPageCss2();
}
}
/*
用来给建立分页的数组初始化的函数。
*/
function initArray(){
for($i=0;$i<$this->sub_pages;$i++){
$this->page_array[$i]=$i;
}
return $this->page_array;
}
/*
construct_num_Page该函数使用来构造显示的条目
即使:[1][2][3][4][5][6][7][8][9][10]
*/
function construct_num_Page(){
if($this->pageNums < $this->sub_pages){
$current_array=array();
for($i=0;$i<$this->pageNums;$i++){
$current_array[$i]=$i+1;
}
}else{
$current_array=$this->initArray();
if($this->current_page <= 3){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$i+1;
}
}elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;
}
}else{
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$this->current_page-2+$i;
}
}
}
return $current_array;
}
/*
构造普通模式的分页
共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
*/
function subPageCss1(){
$subPageCss1Str="";
$subPageCss1Str.="共".$this->nums."条记录,";
$subPageCss1Str.="每页显示".$this->each_disNums."条,";
$subPageCss1Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
if($this->current_page > 1){
$firstPageUrl=$this->subPage_link."1";
$prewPageUrl=$this->subPage_link.($this->current_page-1);
$subPageCss1Str.="[<a href='$firstPageUrl'>首页</a>] ";
$subPageCss1Str.="[<a href='$prewPageUrl'>上一页</a>] ";
}else {
$subPageCss1Str.="[首页] ";
$subPageCss1Str.="[上一页] ";
}
if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss1Str.=" [<a href='$nextPageUrl'>下一页</a>] ";
$subPageCss1Str.="[<a href='$lastPageUrl'>尾页</a>] ";
}else {
$subPageCss1Str.="[下一页] ";
$subPageCss1Str.="[尾页] ";
}
echo $subPageCss1Str;
}
/*
构造经典模式的分页
当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function subPageCss2(){
$subPageCss2Str="";
$subPageCss2Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
if($this->current_page > 1){
$firstPageUrl=$this->subPage_link."1";
$prewPageUrl=$this->subPage_link.($this->current_page-1);
$subPageCss2Str.="[<a href='$firstPageUrl'>首页</a>] ";
$subPageCss2Str.="[<a href='$prewPageUrl'>上一页</a>] ";
}else {
$subPageCss2Str.="[首页] ";
$subPageCss2Str.="[上一页] ";
}
$a=$this->construct_num_Page();
for($i=0;$i<count($a);$i++){
$s=$a[$i];
if($s == $this->current_page ){
$subPageCss2Str.="[<span style='color:red;font-weight:bold;'>".$s."</span>]";
}else{
$url=$this->subPage_link.$s;
$subPageCss2Str.="[<a href='$url'>".$s."</a>]";
}
}
if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss2Str.=" [<a href='$nextPageUrl'>下一页</a>] ";
$subPageCss2Str.="[<a href='$lastPageUrl'>尾页</a>] ";
}else {
$subPageCss2Str.="[下一页] ";
$subPageCss2Str.="[尾页] ";
}
echo $subPageCss2Str;
}
}
?>
这里是演示代码了
<?php
require_once("SubPages.php");
//每页显示的条数
$page_size=20;
//总条目数
$nums=1024;
//每次显示的页数
$sub_pages=10;
//得到当前是第几页
$pageCurrent=$_GET["p"];
//if(!$pageCurrent) $pageCurrent=1;
$subPages=new SubPages($page_size,$nums,$pageCurrent,$sub_pages,"test.php?p=",2);
?>
分享到:
相关推荐
这个“php翻页程序”是一个小型的实用工具,可以帮助开发者实现分页显示数据,提高用户体验,避免一次性加载过多内容导致页面响应慢。下面将详细介绍这个程序及其相关知识点。 1. **PHP基础**:PHP是一种广泛使用的...
这个“完善过的php翻页类”显然解决了原有版本存在的问题,以更稳定、高效的方式实现分页效果。现在我们来深入探讨一下PHP分页类的设计和优化。 1. **基础概念**: - **分页**:当数据量过大时,将数据分成多个...
总结来说,这个PHP翻页处理类提供了一种优雅的方式来管理数据库查询的分页,简化了开发过程,使得在大量数据展示时能够轻松实现翻页功能。通过实例化此类并调用相应方法,可以方便地在PHP项目中实现高效的翻页效果。
本资源提供了一个高质量的PHP翻页类,名为"page翻页.php",它可以帮助开发者轻松实现网页的分页功能。 PHP翻页类的主要工作原理是计算总页数,根据当前页码获取每页的数据,并生成可点击的页码链接。在"page翻页....
PHP翻页跳转功能实现方法主要涉及到Web开发中经常遇到的页面数据展示问题,特别是在处理大量数据时,为了提高用户体验,开发者需要实现一个高效且用户友好的翻页机制。在PHP中实现翻页功能通常需要结合SQL语句来分页...
PHP翻页功能是网页开发中常见的一种技术,用于处理大量数据分批展示的情况,比如商品列表、文章列表等。在本实例中,我们看到一个名为`Page`的PHP类,这个类专门用来实现分页逻辑。 首先,`Page`类包含了一些私有...
"php翻页" 标签强调了我们关注的是PHP在分页中的角色,即如何在服务器端处理分页逻辑,获取指定页码的数据。 "angularJS" 标签表明我们要使用这个前端框架来处理客户端的交互和数据展示。 "无刷新翻页" 标签是关键...
以下是一个简单的PHP翻页实现: ```php <?php // 假设我们从数据库获取到所有数据的总条数 $total_records = 100; // 每页显示的数据条数 $records_per_page = 10; // 计算总页数 $total_pages = ceil($total_...
### PHP自动适应范围的页码分页程序 在开发基于Web的应用时,为了提升用户体验以及减少服务器负担,分页功能是必不可少的一项技术。本文将详细解析一个PHP自适应范围页码分页程序的设计思路与实现细节,帮助读者...
是一个简单的翻页类,适合新手使用,希望大家喜欢,非常的渐变。
在“翻页效果Flash+PHP源代码”这个主题中,我们将深入探讨如何结合这两种技术来创建动态且吸引人的页面切换效果。 首先,让我们了解一下Flash。Flash是一款由Adobe公司开发的多媒体创作工具,它主要用于创建动画、...
这个“php实现手机滑动翻页码”项目显然关注的是如何利用PHP后端技术与前端交互,以实现用户在浏览内容时平滑地滚动并加载更多数据,这通常被称为无限滚动或滚动加载。 首先,我们需要理解“滑动翻页”的工作原理。...
在本主题“layuitable和php动态翻页源代码”中,我们将探讨如何利用`layui`的table组件与PHP后端配合,实现动态数据的分页展示。 `layui`的table组件提供了一套完整的数据展示解决方案,包括数据加载、操作列、多级...
在PHP开发中,分页是常见的功能之一,用于处理大量数据的显示,提高网页加载速度,提升用户体验。这里我们讨论的"php万能分页源码(附多种分页效果)"是一个专为PHP设计的分页类库,它提供了一种简单而高效的方式来...
这个过程就是通过jQuery的Ajax功能实现页面无刷新翻页的基本流程。通过这种方式,用户可以在浏览大量数据时保持流畅的体验,同时减少服务器负载。记住,为了确保良好的用户体验,还需要考虑错误处理、加载指示器以及...
php+extjs4.2翻页搜索实例.php