php分页函数完整实例代码


Posted in PHP onSeptember 22, 2014

本文分享一例php分页函数完整实例代码,使用此函数实现分页效果很不错。分享给大家供大家参考。

具体功能代码如下:

<?php
/*
* Created on 2011-07-28
* 使用方法:
require_once('mypage.php');
$result=mysql_query("select * from mytable", $myconn);
$total=mysql_num_rows($result);  //取得信息总数
pageDivide($total,10);   //调用分页函数

//数据库操作
$result=mysql_query("select * from mytable limit $sqlfirst,$shownu", $myconn);
while($row=mysql_fetch_array($result)){
//...您的操作
}
echo $pagecon;  //输出分页导航内容
*/

if(!function_exists("pageDivide")){
#$total   信息总数
#$shownu  显示数量,默认20
#$url   本页链接
function pageDivide($total,$shownu=20,$url=''){

#$page 当前页码
#$sqlfirst mysql数据库起始项
#$pagecon  分页导航内容
global $page,$sqlfirst,$pagecon,$_SERVER;
$GLOBALS["shownu"]=$shownu;

if(isset($_GET['page'])){
$page=$_GET['page'];
}else $page=1;

#如果$url使用默认,即空值,则赋值为本页URL
if(!$url){ $url=$_SERVER["REQUEST_URI"];}

#URL分析
$parse_url=parse_url($url);
@$url_query=$parse_url["query"];  //取出在问号?之后内容
if($url_query){
$url_query=preg_replace("/(&?)(page=$page)/","",$url_query);
$url = str_replace($parse_url["query"],$url_query,$url);
if($url_query){
$url .= "&page";
}else $url .= "page";
}else $url .= "?page";

#页码计算
$lastpg=ceil($total/$shownu);  //最后页,总页数
$page=min($lastpg,$page);
$prepg=$page-1; //上一页
$nextpg=($page==$lastpg ? 0 : $page+1); //下一页
$sqlfirst=($page-1)*$shownu;

#开始分页导航内容
$pagecon = "显示第 ".($total?($sqlfirst+1):0)."-".min($sqlfirst+$shownu,$total)." 条记录,共 <B>$total</B> 条记录";
if($lastpg<=1) return false;  //如果只有一页则跳出

if($page!=1) $pagecon .=" <a href='$url=1'>首页</a> "; else $pagecon .=" 首页 ";
if($prepg) $pagecon .=" <a href='$url=$prepg'>前页</a> "; else $pagecon .=" 前页 ";
if($nextpg) $pagecon .=" <a href='$url=$nextpg'>后页</a> "; else $pagecon .=" 后页 ";
if($page!=$lastpg) $pagecon.=" <a href='$url=$lastpg'>尾页</a> "; else $pagecon .=" 尾页 ";

#下拉跳转列表,循环列出所有页码
$pagecon .=" 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagecon .="<option value='$i' selected>$i</option>\n";
else $pagecon .="<option value='$i'>$i</option>\n";
}
$pagecon .="</select> 页,共 $lastpg 页";

}
}else die('pageDivide()同名函数已经存在!');
?>

相信本文所述对大家PHP程序设计的学习有一定的借鉴价值。

PHP 相关文章推荐
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
利用discuz自带通行证整合dedecms的方法以及文件下载
Mar 06 PHP
PHP持久连接mysql_pconnect()函数使用介绍
Feb 05 PHP
PHP IE中下载附件问题解决方法
Jan 07 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
Jul 25 PHP
php实现过滤表单提交中html标签的方法
Oct 17 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
PHP微信开发之模板消息回复
Jun 24 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
php7性能提升的原因详解
Oct 13 PHP
PHPExcel实现的读取多工作表操作示例
Apr 14 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 #PHP
PHP return语句另类用法不止是在函数中
Sep 17 #PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 #PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 #PHP
一个php生成16位随机数的代码(两种方法)
Sep 16 #PHP
php数组中删除元素之重新索引的方法
Sep 16 #PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 #PHP
You might like
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
基于PHP异步执行的常用方式详解
2013/06/03 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
python+POP3实现批量下载邮件附件
2018/06/19 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
python/golang 删除链表中的元素
2020/09/14 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
计算机学生求职信范文
2014/01/30 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
任命书怎么写
2014/06/04 职场文书
李强优秀员工观后感
2015/06/16 职场文书
用python修改excel表某一列内容的操作方法
2021/06/11 Python
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers
浅谈克隆 JavaScript
2021/11/02 Javascript