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之require/include顺序 推荐
Jan 02 PHP
php设计模式 Decorator(装饰模式)
Jun 26 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
PHP投票系统防刷票判断流程分析
Feb 04 PHP
处理单名多值表单的详解
Jun 08 PHP
利用curl 多线程 模拟 并发的详解
Jun 14 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
PHP经典实用正则表达式小结
May 04 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
php生成微信红包数组的方法
Sep 05 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 模板高级篇总结
2006/12/21 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
详解Vue中过度动画效果应用
2017/05/25 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
js判断文件类型大小并给出提示的实现方法
2018/01/03 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
js实现筛选功能
2020/11/24 Javascript
Python批量发送post请求的实现代码
2018/05/05 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
Python计算信息熵实例
2020/06/18 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
临床医学应届生求职信
2013/11/06 职场文书
迟到检讨书大全
2014/01/25 职场文书
环境整治工作方案
2014/05/18 职场文书
商铺消防安全责任书
2014/07/29 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers