热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php远程分页类-PHP源码

ec(2);page_total_rows-每页展示数量默认值20$total_rows-总计数据条目数$totpages-总页数计算$pages_current-当前页面利用url参数传递当前页码url参数名称pages$style-页码展示样式可以通过外部访问样式属性进行修改***********************使用方法********

page_total_rows - 每页展示数量 默认值20
$total_rows - 总计数据条目数
$totpages - 总页数计算
$pages_current - 当前页面
利用url参数传递 当前页码 url参数名称 pages
$style - 页码展示样式可以通过外部访问样式属性进行修改
***********************使用方法**********************
调用该类
$pages = new pages;
调用该类后请修改数据集总条数
$pages->total_rows = $totrows;
//$pages->main();方法将返回limit需要的2个参数 关联数组的a,b2个元素
$limit = $pages->main();
通过访问不同方法即可展示不同的功能!
欢迎批评指正 联系qq 5213606
*/
class pages{
public $page_total_rows = 20;//每页展示数量
public $total_rows;//总计数据条目数
public $totpages;//总页数
public $current_url;//当前页面名称
private $ask; //是否出现问号
public $style ='
';

//核心计算 并以数组的形式返回查询sql 语句的必须值 limit a,b;
function main(){
$this->totpages = ceil($this->total_rows/$this->page_total_rows);//总页数计算
//获得当前页码-------------------
if(!isset($_get['pages']))
{
$this->pages_current = 1;
}else
{
$this->pages_current = intval($_get['pages']);
//判断页面不为0
if($this->pages_current <1){
$this->pages_current = 1;
}
//判断页面不能大于最大页码数量
if($this->pages_current > $this->totpages){
$this->pages_current = $this->totpages;
}
//注销url 参数 pages 和 total_rows 为了更好的传递其他url参数
if(isset($_get['pages'])){unset($_get['pages']);}
if(isset($_get['total_rows'])){unset($_get['total_rows']);}

}
//获得当前页码--------------------
$limit['a'] = $start = ($this->pages_current - 1)*$this->page_total_rows;
$limit['b'] = $this->page_total_rows;
//获得当前页面名称
$urlin = explode('/',$_server['php教程_self']);

$tot_url = sizeof($urlin);
$this->current_url =$urlin[$tot_url-1];
//获得当前页面传递的url
if(sizeof($_get) > 0){
foreach($_get as $key=>$values){
$urlsget .= $key.'='.$values.'&';
}
$this->current_url .= '?'.$urlsget;
$this->ask = '';
}else{$this->ask = '?';}
//输出样式
echo $this->style;
return $limit;
}
//展示分页
//1 第一页
function firstpage(){
echo '

首页

';
}
//2 上一页
function prepage(){
echo '

上一页

';
}
//3 下一页
function nextpage(){
echo '

下一页

';
}
//4 最后一页
function lastpage(){
echo '

尾页

';
}
//中间过渡页
function morepage(){
if($this->pages_current == 1){$newtj = $this->pages_current+9;}
elseif($this->pages_current == 2){$newtj = $this->pages_current+8;}
elseif($this->pages_current == 3){$newtj = $this->pages_current+7;}
else{$newtj = $this->pages_current+6;}
for($i=$this->pages_current-3;$i<=$newtj;$i++){
if($i==$this->pages_current){$strOng=''; $strong2 ='';}else{$strOng='';$strong2='';}
if($i >=1){echo '

'.$strong.$i.$strong2.'

';}
if($i >= $this->totpages){
break;
}
}
}
//跳转页面
function changepage(){
echo '

';
}
}
?>
该类可以自动识别 url 参数 避免了一般分页类 丢失url参数问题
样式 可以通过style属性 进行修改
提供 首页 上一页 下一页 尾页 中间 过渡页 跳转菜单功能
推荐阅读
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
author-avatar
Mr_cool
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有