分享
 
 
 

新做的一个PHP分页类,如:|> >>|

王朝php·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

新做的一个类,比较实用~~样式如下:

|<< << 1 2 3 4 5 6 7 8 >> >>|

大家觉得有用可以带走~~呵呵……

<?php

/***************************

* 一个非常实用个性的分页类 *

****************************

*****************************实例***********************************

if(!isset($_GET['page'])){$page = 0;}else{$page = $_GET['page'];}

$pagedemo = new pageclass;

$pagedemo->set_sql("SELECT * FROM `demo` ORDER BY `id` DESC");

$pagedemo->set_params("type=".$type."");

$pagedemo->set_setpage($page);

$pagedemo->set_pagesize(10);

$pagedemo->set_filename("demo.php");

$pagedemo->set_pagenumber(5);

$pagedemo->show();

$result=$pagedemo->result;

$n=0;

while ($row=mysql_fetch_row($result)){

$n++;

echo "内容";

}

$pagedemo->showpage();

*******************************************************************/

class pageclass

{

/****声明****/

var $sqlstr,$filename,$params,$initfirstpage;

var $pagestart,$pagenumber,$pagesize,$i;

var $firstpage,$prevpage,$nextpage,$lastpage;

var $totallines,$maxpage,$totalpages,$result;

var $page,$final,$getpage,$param,$paramlist;

/****构造函数****/

function pageclass()

{

$this->set_initfirstpage("仅此一页"); // 设置只有一页时显示的文字;

$this->set_setpage(0); // 设置默认第一页为0;

$this->set_pagesize(10); // 设置默认记录数为10;

$this->set_params(""); // 设置默认参数列表为空;

$this->set_pagestart(0); // 设置默认分页起始数为0;

$this->set_pagenumber(5); // 设置默认每页显示页数为5;

$this->set_firstpage("|<<"); // 设置默认上N页表示字符为|<<;

$this->set_prevpage("<<"); // 设置默认上一页表示字符为<<;

$this->set_nextpage(">>"); // 设置默认下一页表示字符为>>;

$this->set_lastpage(">>|"); // 设置默认下N页表示字符为>>|;

}

/*****设置SQL查询语句****/

function set_sql($sqlstr)

{

$this->sqlstr = $sqlstr;

}

/****设置每页显示记录数****/

function set_pagesize($pagesize)

{

$this->pagesize = $pagesize;

}

/****设置文件名称****/

function set_filename($filename)

{

$this->filename = $filename;

}

/****设置参数列表(可设多项)****/

function set_params($params)

{

$this->params = $params;

}

/****设置页面开始数(默认为0)****/

function set_pagestart($pagestart)

{

$this->pagestart = $pagestart;

}

/****设置每页显示页数****/

function set_pagenumber($pagenumber)

{

$this->pagenumber = $pagenumber;

}

/****设置首页图标或字符****/

function set_firstpage($firstpage)

{

$this->firstpage = $firstpage;

}

/****设置上一页图标或字符****/

function set_prevpage($prevpage)

{

$this->prevpage = $prevpage;

}

/****设置下一页图标或字符****/

function set_nextpage($nextpage)

{

$this->nextpage = $nextpage;

}

/****设置末页图标或字符****/

function set_lastpage($lastpage)

{

$this->lastpage = $lastpage;

}

/****设置总页数为一页时显示的文字****/

function set_initfirstpage($initfirstpage)

{

$this->initfirstpage = $initfirstpage;

}

/****取得当前页数****/

function set_setpage($getpage)

{

$this->getpage = $getpage;

}

/****取出数据集****/

function show()

{

$this->final = '';

$this->param = preg_replace("/&?page=[0-9]*&?/", '', $this->params);

$this->totallines = mysql_num_rows(mysql_query($this->sqlstr));

if(isset($this->totallines))

{

$this->totalpages = ceil($this->totallines / $this->pagesize);

}else{

$this->totalpages = 1;

}

$this->result = mysql_query($this->sqlstr." limit ".$this->getpage * $this->pagesize .", ". $this->pagesize);

}

/****显示分页****/

function showpage()

{

if($this->totalpages > $this->pagenumber && $this->getpage > $this->pagenumber - 1)

{

$this->paramlist = '?page='.($this->getpage - $this->pagenumber);

$this->paramlist .= "&".$this->param;

$this->final .= "<a href=./".$this->filename.$this->paramlist.">".$this->firstpage."</a> ";

$this->pagestart = intval($this->getpage / $this->pagenumber) * $this->pagenumber;

}else $this->final .= $this->firstpage." ";

if($this->getpage)

{

$this->paramlist = '?page='.($this->getpage - 1);

$this->paramlist .= "&".$this->param;

$this->final .= "<a href=./".$this->filename.$this->paramlist.">".$this->prevpage."</a> ";

} else $this->final .= $this->prevpage." ";

if($this->totalpages < $this->pagenumber)

{

$this->maxpage = $this->totalpages;

}else{

$this->maxpage = $this->pagenumber;

}

for($this->i = $this->pagestart, $this->paramlist = '', $this->maxpage += $this->pagestart; $this->i < $this->maxpage; $this->i ++) {

$this->paramlist .= '?page='.$this->i;

$this->paramlist .= "&".$this->param;

if($this->i != $this->getpage)

{

$this->final .= "<a href=./".$this->filename.$this->paramlist.">".($this->i + 1).'</a> ';

}else{

$this->final .= "<a href=./".$this->filename.$this->paramlist."><strong>".($this->i + 1).'</strong></a> ';

}

$this->paramlist = '';

}

if((++ $this->getpage)< $this->totalpages)

{

$this->paramlist = "?page=".$this->getpage;

$this->paramlist .= "&".$this->param;

$this->final .= "<a href=./".$this->filename.$this->paramlist.">".$this->nextpage."</a> ";

} else $this->final .= " ".$this->nextpage;

$this->getpage --;

if(($this->getpage + $this->pagenumber) < $this->totalpages)

{

$this->paramlist = '?page='.($this->getpage + $this->pagenumber);

$this->paramlist .= "&".$this->param;

$this->final .= " <a href=./".$this->filename.$this->paramlist.">".$this->lastpage."</a>";

} else $this->final .= " ".$this->lastpage;

if($this->maxpage == 1) $this->final = $this->initfirstpage;

print $this->final;

}

}

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有