一个好用的分页函数

2016-02-19 09:03 4 1 收藏

下面请跟着图老师小编一起来了解下一个好用的分页函数,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - Web开发 】

代码如下:

本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊

    /*---------------------------------------------------------------//
  * 函数说明:分页函数 page($sql,$pagesize="30")
  * $sql 查询语句(除limit外,可带排序或者条件限制) 
  * 如 select * from stu where time between "1" and "30";
  * $pagesize 每页的显示条数
  * ## 可输出数组$arr的值,说明如下: 
  *    $arr["first"]    首页及地址
  *    $arr["page_pre"] 上一页及地址
  *    $arr["all"]      当第几页和总页数
  *    $arr["page_next"]下一页及地址
  *    $arr["last"]     末页及地址
  *    $arr["pagelist"] 页码列表及地址,显示当前页前后4页列表
  *    $arr["query"]    语句 $arr["query"] = mysql_query($sql)
  *    $arr["nums"]     记录总数
  *                                 2006.09.06 by Kevin QQ:84529890
//----------------------------------------------------------------*/
function page($sql,$pagesize="30"){

global $arr,$PHP_SELF;

$query = mysql_query($sql);
$num = mysql_num_rows($query);
$pagecount = ceil($num/$pagesize);
$page = $_GET["page"];
if(!$page) $page=1;
if($page$pagecount) $page = $pagecount;

$offset = ($page-1)*$pagesize;
$sql.=" limit $offset , $pagesize";
$arr["query"] = mysql_query($sql);

if($page1){
     $page_pre = $page-1;
  $page_url = $PHP_SELF . "?page=".$page_pre;
  $arr["page_pre"] = "a href="".$page_url.""上一页|/an";
}
if($page$pagecount){
     $page_next = $page+1;
  $page_url = $PHP_SELF . "?page=".$page_next;
  $arr["page_next"] = "|a href="".$page_url.""下一页/an";
}

$arr["all"] = "font color="#FF0000"".$page ."/font/". $pagecount . "页n";
$arr["first"] = "a href="".$PHP_SELF."?page=1"首页/an|";
$arr["last"]  = "|a href="".$PHP_SELF."?page=".$pagecount.""末页/an";

$plfront="";
if($page=5 && $page=1){
     for($i=1;$i=9;$i++){
      $plfront.= " a href="".$PHP_SELF."?page=$i"".$i."/a";
   }
}elseif($page5 && $page$pagecount-5){
     for($i=$page-4;$i$page+5;$i++){
      $plfront.= " a href="".$PHP_SELF."?page=$i"".$i."/a";
   }
}else{
     for($i=$pagecount-8;$i=$pagecount;$i++){
      $plfront.= " a href="".$PHP_SELF."?page=$i"".$i."/a";
  }
}

$arr["pagelist"] = $plfront." ";
$arr["nums"] = $num;
   }

来源:http://www.tulaoshi.com/n/20160219/1589341.html

延伸阅读
标签: PHP
<?php if(!$whichpage) {   $notepage=1; } else { $notepage=$whichpage; } $noterecs=0; $pagesize=10; $bbsconn=mysql_connect("localhost","root"); mysql_select_db("rainwindy",$bbsconn); $bbsresult=mysql_query("select * from bbs order by id desc"...
代码如下: ------------------------------------ --用途:分页存储过程(对有主键的表效率极高) --说明: ------------------------------------ ALTER PROCEDURE [UP_GetRecordByPage] @tblName varchar(255), -- 表名 @fldName varchar(255), -- 主键字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @IsReCoun...
标签: ASP
<% Dim myarr For i = 0 To 100 Randomize no = Int((1000-1+1)*Rnd+1) For j = 0 To i If no < myarr(j) And no < "" Then j = j + 1 Else Exit For End If myarr(i) = no Next If i = 21 Then Exit For End If Next %
标签: Web开发
代码如下: %       page=trim(request("page"))       maxperpage=40       first=true       last=true       dim rs       set r...
本文示例源代码下载     CGridCtrl_demo19_01.zip为演示CGridCtrl的使用 CGridCtrl_demo19_02.zip演示与CMYODBC的配合使用 一、引言 在用vc开发关于数据库的项目时,通常我们只好用微软的DBGRID作为数据库表格控件,其实微软的DBGRID并不好用,想找一份好的帮助文档都找不到,并且界面并不友好,比起C++Bui...

经验教程

585

收藏

13
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部