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 相关文章推荐
实用函数3
Nov 08 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
php采集中国代理服务器网的方法
Jun 16 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
PHP错误和异常处理功能模块示例
Nov 12 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHPMailer发送邮件
Dec 28 PHP
详解php中serialize()和unserialize()函数
Jul 08 PHP
php进程daemon化的正确实现方法
Sep 06 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
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
简单的php文件上传(实例)
2013/10/27 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
URL地址中的#符号使用说明
2011/02/12 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
js实现对ajax请求面向对象的封装
2016/01/08 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
jQuery实现html双向绑定功能示例
2017/10/09 jQuery
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
python中数据爬虫requests库使用方法详解
2018/02/11 Python
Python中str.join()简单用法示例
2018/03/20 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
实现向右循环移位
2014/07/31 面试题
在求职信中如何凸显个人优势
2013/10/30 职场文书
幼儿园保育员辞职信
2014/01/12 职场文书
英语生日邀请函
2014/01/23 职场文书
蛋糕店的商业计划书范文
2014/01/27 职场文书
简历自我评价模版
2014/01/31 职场文书
任命书标准格式
2015/03/02 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
公司处罚决定书
2015/06/24 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers