快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

分页类

PHP代码:-----------------------------------------
/**********
| +---------------------------------------------------
| CLASS NAME: PageBar
| +---------------------------------------------------
| Author: Arvan [E-mail:Arvan@5n9.com QQ:8817776]
| Create date: 2003-7-17
| Note:
| Do for pagination
| +---------------------------------------------------
| Warning: no...
| +---------------------------------------------------
**********/

class PageBar
{
var $total;
var $onepage;
var $num;
var $pagecount;
var $total_page;
var $offset;
var $linkhead;

function PageBar($total, $onepage, $form_vars=\\\'\\\')
{
$pagecount = $_GET[\\\'pagecount\\\'];
$this->total = $total;
$this->onepage = $onepage;
$this->total_page = ceil($total/$onepage);

if (empty($pagecount))
{
$this->pagecount = 1;
$this->offset = 0;
}
else
{
$this->pagecount = $pagecount;
$this->offset = ($pagecount-1)*$onepage;
}

if (!empty($form_vars))
{
$vars = explode("|", $form_vars);
$chk = $vars[0];
$chk_value = $_POST[\\\'$chk\\\'];

if (empty($chk_value))
{
$formlink = "";
}
else
{
for ($i=0; $i<sizeof($vars); $i++)
{
$var = $vars[$i];
$value = $_POST[\\\'$var\\\'];
$addchar = $vars."=".$value;
$addstr = $addstr.$addchar."&";
}

$formlink = "&".substr($addstr, 0, sizeof($addstr)-1);
}

}
else
{
$formlink = "";
}

$linkarr = explode("pagecount=", $_SERVER[\\\'QUERY_STRING\\\']);
$linkft = $linkarr[0];

if (empty($linkft))
{
$this->linkhead = $_SERVER[\\\'PHP_SELF\\\']."?".$formlink;
}
else
{
$this->linkhead = $_SERVER[\\\'PHP_SELF\\\']."?".$linkft.$formlink;
}

}
#End function PageBar();

function offset()
{
return $this->offset;
}
#End function offset();

function pre_page($char=\\\'\\\')
{
$linkhead = $this->linkhead;
$pagecount = $this->pagecount;
if (empty($char))
{
$char = "[<]";
}

if ($pagecount>1)
{
$pre_page = $pagecount - 1;
return "<a href=/"$linkhead"."pagecount=$pre_page/">$char</a>";
}
else
{
return \\\' \\\';
}

}
#End function pre_page();

function next_page($char=\\\'\\\')
{
$linkhead = $this->linkhead;
$total_page = $this->total_page;
$pagecount = $this->pagecount;
if (empty($char))
{
$char = "[>]";
}
if ($pagecount<$total_page)
{
$next_page = $pagecount + 1;
return "<a href=/"$linkhead"."pagecount=$next_page/">$char</a>";
}
else
{
return \\\' \\\';
}
}
#End function next_page();

function num_bar($num=\\\'\\\', $color=\\\'\\\', $left=\\\'\\\', $right=\\\'\\\')
{
$num = (empty($num))?10:$num;
$this->num = $num;
$mid = floor($num/2);
$last = $num - 1;
$pagecount = $this->pagecount;
$totalpage = $this->total_page;
$linkhead = $this->linkhead;
$left = (empty($left))?"[":$left;
$right = (empty($right))?"]":$right;
$color = (empty($color))?"#ff0000":$color;
$minpage = (($pagecount-$mid)<1)?1<img src="images/smilies/frown.gif" border="0" alt="">$pagecount-$mid);
$maxpage = $minpage + $last;
if ($maxpage>$totalpage)
{
$maxpage = $totalpage;
$minpage = $maxpage - $last;
$minpage = ($minpage<1)?1:$minpage;
}

for ($i=$minpage; $i<=$maxpage; $i++)
{
$char = $left.$i.$right;
if ($i==$pagecount)
{
$char = "<font color=\\\'$color\\\'>$char</font>";
}

$linkchar = "<a href=\\\'$linkhead"."pagecount=$i\\\'>".$char."</a>";
$linkbar = $linkbar.$linkchar;
}

return $linkbar;
}
#End function num_bar();

function pre_group($char=\\\'\\\')
{
$pagecount = $this->pagecount;
$linkhead = $this->linkhead;
$num = $this->num;
$mid = floor($num/2);
$minpage = (($pagecount-$mid)<1)?1<img src="images/smilies/frown.gif" border="0" alt="">$pagecount-$mid);
$char = (empty($char))?"[<<]":$char;
$pgpagecount = ($minpage>$num)?$minpage-$mid:1;
return "<a href=\\\'$linkhead"."pagecount=$pgpagecount\\\'>".$char."</a>";
}
#End function pre_group();

function next_group($char=\\\'\\\')
{
$pagecount = $this->pagecount;
$linkhead = $this->linkhead;
$totalpage = $this->total_page;
$num = $this->num;
$mid = floor($num/2);
$last = $num;
$minpage = (($pagecount-$mid)<1)?1<img src="images/smilies/frown.gif" border="0" alt="">$pagecount-$mid);
$maxpage = $minpage + $last;
if ($maxpage>$totalpage)
{
$maxpage = $totalpage;
$minpage = $maxpage - $last;
$minpage = ($minpage<1)?1:$minpage;
}

$char = (empty($char))?"[>>]":$char;
$ngpagecount = ($totalpage>$maxpage+$last)?$maxpage + $mid:$totalpage;

return "<a href=\\\'$linkhead"."pagecount=$ngpagecount\\\'>".$char."</a>";
}
#End function next_group();

function whole_num_bar($num=\\\'\\\', $color=\\\'\\\')
{
$num_bar = $this->num_bar($num, $color);
$pre_group = $this->pre_group();
$pre_page = $this->pre_page();
$next_page = $this->next_page();
$next_group = $this->next_group();

return $pre_group.$pre_page.$num_bar.$next_page.$next_group;
}
#End function whole_bar();


}
#End class PageBar;


/*****
//example

$total = 1000;
$onepage = 20;

$pb = new PageBar($total, $onepage);
$offset = $pb->offset();
$pagebar = $pb->whole_num_bar();
echo $offset."<br>".$pagebar;

return:
0
[<<] [1][2][3][4][5][6][7][8][9][10][>][>>]

*****/



返回类别: 教程
上一教程: PHP教程.应用实例13
下一教程: 第四节--构造函数和析构函数 -- Classes and Objects in PHP5 [4]

您可以阅读与"分页类"相关的教程:
· php+oracle 分页类
· 测试已经无误,重新发布的修改后的分页类,附点说明
· 今天写的分页类......分享
· 分页类终结者
· 发布一个最强的PHP通用分页类
    微笑服务 优质保证 索取样品