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 相关文章推荐
PHP动态图像的创建
Oct 09 PHP
第三章 php操作符与控制结构代码
Dec 30 PHP
PHP字符串中特殊符号的过滤方法介绍
Feb 18 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
PHP实现路由映射到指定控制器
Aug 13 PHP
PHP获取不了React Native Fecth参数的解决办法
Aug 26 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
Feb 10 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 PHP
php 人员权限管理(RBAC)实例(推荐)
May 24 PHP
PHP静态延迟绑定和普通静态效率的对比
Oct 20 PHP
简单实用的PHP文本缓存类实例
Mar 22 PHP
PHP实现的支付宝支付功能示例
Mar 26 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解析html的实现代码
2011/08/08 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
2006/12/06 Javascript
js CSS操作方法集合
2008/10/31 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
详解vue v-model
2020/08/31 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
用Python输出一个杨辉三角的例子
2014/06/13 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Python中super的用法实例
2015/05/28 Python
Python3字符串学习教程
2015/08/20 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
2019/06/13 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
python返回数组的索引实例
2019/11/28 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
python操作yaml说明
2020/04/08 Python
python如何编写win程序
2020/06/08 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
CSS3 简写animation
2012/05/10 HTML / CSS
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
新郎答谢词
2015/01/04 职场文书
建党伟业的观后感
2015/06/01 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python