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 相关文章推荐
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
php 面试碰到过的问题 在此做下记录
Jun 09 PHP
php设计模式之简单工厂模式详解
Sep 04 PHP
PHP中文乱码解决方案
Mar 05 PHP
php实现的单一入口应用程序实例分析
Sep 23 PHP
深入理解PHP中的count函数
May 31 PHP
php mysql 封装类实例代码
Sep 18 PHP
php 输出json及显示json中的中文汉字详解及实例
Nov 09 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
php使用str_replace替换多维数组的实现方法分析
Jun 15 PHP
PHP字符串与数组处理函数用法小结
Jan 07 PHP
Yii框架应用组件用法实例分析
May 15 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
laravel config文件配置全局变量的例子
2019/10/13 PHP
斜45度寻路实现函数
2009/08/20 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
js返回上一页并刷新代码整理
2012/12/21 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
监控Nodejs的性能实例代码
2019/07/02 NodeJs
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
python网络编程之读取网站根目录实例
2014/09/30 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
python 高效去重复 支持GB级别大文件的示例代码
2018/11/08 Python
python制作mysql数据迁移脚本
2019/01/01 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
如何给Python代码进行加密
2020/01/10 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
有关爱国演讲稿
2014/05/07 职场文书
五好关工委申报材料
2014/05/31 职场文书
婚内分居协议书范文
2014/11/26 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
vue前端工程的搭建
2021/03/31 Vue.js