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 相关文章推荐
一个程序下载的管理程序(三)
Oct 09 PHP
php cout&amp;lt;&amp;lt;的一点看法
Jan 24 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
访问编码后的中文URL返回404错误的解决方法
Aug 20 PHP
php 在线导入mysql大数据程序
Jun 11 PHP
php生成图片验证码-附五种验证码
Aug 19 PHP
两种php去除二维数组的重复项方法
Nov 04 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
PHP 无限级分类
May 04 PHP
Laravel框架Request、Response及Session操作示例
May 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
帅气的琦玉老师
2020/03/02 日漫
一个显示天气预报的程序
2006/10/09 PHP
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
js canvas实现写字动画效果
2018/11/30 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
Python操作CouchDB数据库简单示例
2015/03/10 Python
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
python两个list[]相加的实现方法
2020/09/23 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
Under Armour安德玛荷兰官网:美国高端运动科技品牌
2019/07/10 全球购物
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
SQL Server面试题
2013/04/04 面试题
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
Python竟然能剪辑视频
2021/05/25 Python