一个很不错的PHP翻页类

代码如下:

<?php
/*
* Created on 2007-6-8
* Programmer : Alan , Msn - haowubai@hotmail.com
* PHP100.com Develop a project PHP - MySQL - Apache
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
//为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:
if(!function_exists(pageft)){
//定义函数pageft(),三个参数的含义为:
//$totle:信息总数;
//$displaypg:每页显示信息数,这里设置为默认是20;
//$url:分页导航中的链接,除了加入不同的查询信息“page”外的部分都与这个URL相同。
//   默认值本该设为本页URL(即$_SERVER["REQUEST_URI"]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数内部再设置为本页URL。
function pageft($totle,$displaypg=20,$url=''){

//定义几个全局变量:
//$page:当前页码;
//$firstcount:(数据库)查询的起始项;
//$pagenav:页面导航条代码,函数内部并没有将它输出;
//$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。
global $page,$firstcount,$pagenav,$_SERVER;

//为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。
$GLOBALS["displaypg"]=$displaypg;

if(!$page) $page=1;

//如果$url使用默认,即空值,则赋值为本页URL:
if(!$url){ $url=$_SERVER["REQUEST_URI"];}

//URL分析:
$parse_url=parse_url($url);
$url_query=$parse_url["query"]; //单独取出URL的查询字串
if($url_query){
//因为URL中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。
//这里用到了正则表达式,请参考“PHP中的正规表达式”
$url_query=ereg_replace("(^|&)page=$page","",$url_query);

//将处理后的URL的查询字串替换原来的URL的查询字串:
$url=str_replace($parse_url["query"],$url_query,$url);

//在URL后加page查询信息,但待赋值:
if($url_query) $url.="&page"; else $url.="page";
}else {
$url.="?page";
}

//页码计算:
$lastpg=ceil($totle/$displaypg); //最后页,也是总页数
$page=min($lastpg,$page);
$prepg=$page-1; //上一页
$nextpg=($page==$lastpg ? 0 : $page+1); //下一页
$firstcount=($page-1)*$displaypg;

//开始分页导航条代码:
$pagenav="显示第 <B>".($totle?($firstcount+1):0)."</B>-<B>".min($firstcount+$displaypg,$totle)."</B> 条记录,共 $totle 条记录";

//如果只有一页则跳出函数:
if($lastpg<=1) return false;

$pagenav.=" <a href='$url=1'>首页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg'>前页</a> "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg'>后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href='$url=$lastpg'>尾页</a> ";

//下拉跳转列表,循环列出所有页码:
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";
else $pagenav.="<option value='$i'>$i</option>\n";
}
$pagenav.="</select> 页,共 $lastpg 页";
}
}
?>

<?
/*
//(前面程序略)

include("pageft.php"); //包含“pageft.php”文件
//取得总信息数
$result=mysql_query("select * from mytable");
$total=mysql_num_rows($result);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。
pageft($total,10);
//现在产生的全局变量就派上用场了:
$result=mysql_query("select * from mytable limit $firstcount,$displaypg ");
while($row=mysql_fetch_array($result)){
//(列表内容略)
}

//输出分页导航条代码:
echo $pagenav;

//(后面程序略)
*/
?>

(0)

相关推荐

  • 实现网页页面跳转的几种方法(meta标签、js实现、php实现)

    1.meta标签实现 只需在head里加上下面这一句就行了,在当前页面停留0.1秒后跳转到目标页面 复制代码 代码如下: <meta http-equiv="refresh" content="0.1; url=http://jb51.net/"> 2.Javascript实现 方法一: 这个方法比较常用 复制代码 代码如下: window.location.href = "http://jb51.net/"; 方法二: 复制代码 代

  • php download.php实现代码 跳转到下载文件(response.redirect)

    跳转核心代码实现. 复制代码 代码如下: if (isset($link))                 {                     Header("HTTP/1.1 303 See Other");                     Header("Location: $link");                     exit;                 } 下面是国外的一篇文章说明.Hey Chris: On Wed, J

  • ThinkPHP页面跳转success与error方法概述

    ThinkPHP自身提供了success方法与error方法用于实现带提示信息的页面跳转功能,可实现添加数据后显示提示信息并跳转的效果.success 方法用于操作成功后的提示,error 用于操作失败后的提示,二者使用方法完全一致,下面以success 方法来进行说明. 1.success方法   success方法语法如下: success(message, ajax)  参数说明message可选.页面提示信息.ajax可选.是否AJAX 方式提交,默认为false . 如果是AJAX 方

  • php URL跳转代码 减少外链

    URL跳转代码 1.代码: <? $url=$_GET["url"];header("Location:"."http://".$url);?> 如保存为aaa.php,可以实现aaa.php?url=www.baidu.com跳转到百度的效果. 这个简单的调用了默认的$_GET变量.以及php默认跳转Location: 2.实例升级:增加if循环 代码: 复制代码 代码如下: <? $url=$_GET["url&q

  • PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部

    复制代码 代码如下: <?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每页字数 $CLength = strlen($content); $PageCount = floor(($CLength / $PageLength)) + 1; //计算页数 $PageArray=array(); $Seperator = array("\n","\r"

  • php 随机数的产生、页面跳转、件读写、文件重命名、switch语句

    复制代码 代码如下: <?php num = rand(1,5); witch($num){ case 1: $fp1=fopen("f1.dat",'r'); $oname = fgets($fp1); $nname = date("YmdHis"); rename($oname,$nname); fclose($fp1); unlink("f1.dat"); $fp1=fopen("f1.dat",'w'); fwr

  • 浅析php header 跳转

    PHP的header函数 可以很少代码就能实现HTML代码中META 标签这里只说用 header函数来做页面的跳转 1. HTML代码中页面的跳转的代码HTML meta refresh 刷新与跳转(重定向)页面refresh 属性值 -- 刷新与跳转(重定向)页面* refresh用于刷新与跳转(重定向)页面* refresh出现在http-equiv属性中,使用content属性表示刷新或跳转的开始时间与跳转的网址* 引用网址:http://www.dreamdu.com/xhtml/re

  • PHP弹出提示框并跳转到新页面即重定向到新页面

    这两天写一个demo,需要用到提示并跳转,主要页面要求不高,觉得没必要使用AJAX,JS等,于是研究了下怎么在PHP提示并跳转. 开始先是用了下面这种: 复制代码 代码如下: echo "<script> alert('sucess');parent.location.href='/user/index'; </script>"; alert里面是提示的消息,href是提示后跳转的页面. 后来想起TP框架里面有个redirect()重定向的方法,就去看了看. 不

  • php用header函数实现301跳转代码实例

    PHP 301跳转的小代码 复制代码 代码如下: <?php    $the_host = $_SERVER['HTTP_HOST']; $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; if($the_host !== 'www.jb51.net') {     //echo $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];    header('HT

  • php中文本数据翻页(留言本翻页)

    在mysq中介绍翻页的文章不少,而文本数据表格式的翻页介绍的很少,这里我就简单的说一下翻页 主要介绍以下翻页思想1.留言本的翻页2.文本论坛的翻页 ------------------------留言本的翻页:------------------------------这个在文本数据表中的翻页是最简单的翻页,这样说明一下 golbal file    Data.dat    ---    NOTE FILE USE    user.dat    ---     Forum File useDat

  • php实现的仿阿里巴巴实现同类产品翻页

    如果左边的记录条数小于$space(页码区段)的值,页码$start从1开始向右增值.如果左则的记录条数多于$left(左右各显示页数)的值,$start将从左边记录数减去$left值开始记数. 复制代码 代码如下: <?php /** 实现同类产品翻页 **/ class pager { protected $space; protected $left; protected $DB; protected $pageName; public function setSpace($num) {

  • PHP 页面跳转到另一个页面的多种方法方法总结

    一.用HTTP头信息 也就是用PHP的HEADER函数.PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等. 用HTTP头信息重定向到另外一个页面的方法如下: 复制代码 代码如下: <? if (isset($url)) { Header("HTT

  • ThinkPHP访问不存在的模块跳转到404页面的方法

    首先在ACTION中新建一个文件EmptyAction.class.php,其代码如下: <?php class EmptyAction extends Action{ function _empty(){ header("HTTP/1.0 404 Not Found");//使HTTP返回404状态码 $this->display("Public:404"); } } ?> 使用apache服务器的情况下需在apache中的网站配置中加入 Err

  • 网站页面自动跳转实现方法PHP、JSP(下)

    本文讨论网页自动跳转的几种实现方法.方法一:使用meta标签meta标签是html不可或缺的标签之一,它负责提供文档的元信息,其参数主要有: ① http-equiv: 与 文档中数据相关的HTTP文件首部 ② content: 与命名HTTP首部相关的数据 ③ name: 文档描述 ④ url: 与元信息相联系的URL当我们定义属性http-equiv为refresh,打开此Web页时系统将根据content规定的值在一定时间内跳转到相应页面,content="秒数;url=网址"就

  • PHP翻页跳转功能实现方法

    我们都知道用php+mysql在web 页实现数据库资料全部显示是非常简单而有趣的,数据库资料很少的情况下页面显示还是让人满意的,但是当数据库资料非常多的情况下,页面的显示情况将会变的非常糟糕,下面就来介绍一下如何实现当前页面数据资料显示数量及如何实现动态的翻转功能. 这里将介绍两种翻页显示功能的实现: 先介绍一下在翻页中用到的数据库语法: mysql_query("select * from table order by id desc"); 这条数据库语句再熟悉不过了,是用来搜索记

  • 网站页面自动跳转实现方法PHP、JSP(上)

    通常情况下,浏览器会收到一个网页,该页面含有自动加载一其它网页的代码.该页面有可能在服务器端被转换,这样的话,浏览器只收到一个页面,而自动转向往往意味着浏览器收到的页面具有自动将访问用户送至其它页面的功能. 对自动转向技术的合理应用包括:将用户转向到指定浏览器的网页版本:当网站的域名变更或删除后将人们转向到新域名下,等等.但现在这种技术却往往被搜索引擎优化人士用来作为提高网站的搜索引擎排名的一种手段.例如,先专门针对搜索引擎做一个高度优化的网页,也就是我们通常所说的"桥页",然后把这个

  • PHP使用CURL获取302跳转后的地址实例

    直接上代码: 复制代码 代码如下: /*返回一个302地址*/     function  curl_post_302($url, $vars) { $ch = curl_init();          curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1);          curl_setopt($ch, CURLOPT_URL,  $url);          curl_setopt($ch, CURLOPT_POST, 1);          c

  • PHP跳转页面的几种实现方法详解

    •PHP页面跳转一.header()函数header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器.header()函数的定义如下:void header (string string [,bool replace [,int http_response_code]])可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换.第二个可选参数http_response_code强制将HT

  • ThinkPHP跳转页success及error模板实例教程

    本文以实例讲解了ThinkPHP跳转页面的success与error方法所对应的视图与控制器的实现方法,通过本实例教程可以帮助读者更好的掌握success方法与error方法的使用. 首先是控制器中,可以使用下代码: <?php // 本文档自动生成,仅供测试运行 class IndexAction extends Action { /** +---------------------------------------------------------- * 默认操作 +----------

  • PHP中根据IP地址判断城市实现城市切换或跳转代码

    获取IP地址 复制代码 代码如下: <?phpfunction GetIP() {    if ($_SERVER["HTTP_X_FORWARDED_FOR"])        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];    else if ($_SERVER["HTTP_CLIENT_IP"])        $ip = $_SERVER["HTTP_CLIENT_IP"];  

  • PHP 登录完成后如何跳转上一访问页面

    项目需求 访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面. 解决思路1: 在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该url指定的页面. 具体实现 我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序

  • PHP 翻页 实例代码

    复制代码 代码如下: <?php class Page { private $pageSize;//每一页多少行 private $absolutePage;//当前页 private $pageCount;//总页码数 private $totalNum;//总行数 private $prePage;//上一页 private $nextPage; //下一页 private $sqlStr; private $baseUrl; //不带GET参数的URL get传输网址 function _

  • php 来访国内外IP判断代码并实现页面跳转

    我大概构思了一下,有两个方案: 1. Javascript判断来访者的浏览器语言,如果是中文系统,自然使用者都是中国人,跳中文网站: 如果是非中文系统,默认使用者非中国人,跳英文网站. 优点:判断反映速度快. 缺点:不准确,有可能中国用户喜欢用英文版系统,或者外国人使用中文系统的情况. 代码 <script type="text/javascript" language="javascript"> var Browser_Agent=navigator.

  • php页面跳转代码 输入网址跳转到你定义的页面

    代码很简单,涉及到header函数的使用,代码如下 复制代码 代码如下: <?php if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) { $uri = 'https://'; } else { $uri = 'http://'; } $uri .= $_SERVER['HTTP_HOST']; header('Location: '.$uri.'/demo/'); exit; ?> 代码解释 :我先判断

  • PHP Header用于页面跳转要注意的几个问题总结

    1.header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器. header()函数的定义如下: void header (string string [,bool replace [,int http_response_code]]) 可选参数replace指明是替换前一条类似标头还是添加一条相(www.jb51.net)同类型的标头,默认为替换. 第二个可选参数http_respons

  • php+js iframe实现上传头像界面无跳转

    上传头像,界面无跳转的方式很多,我用的是加个iframe那种.下面直接上代码. html: 复制代码 代码如下: //route 为后端接口 //upload/avatar 为上传的头像的保存地址 //imgurl=/upload/avatar/<?=$uid?> 这里最后的<?=$uid?>是为了后面用js实现即时显示最新的更换后的头像用的,参照下面的js部分的代码 //头像保存名称为uid.type,如1.jpg,2.png等 //$user['avatar'] 用户如果上传过

随机推荐