php仿ZOL分页类代码

大小: 3.86 K
尺寸: 289 x 42
浏览: 6 次
点击打开新窗口浏览全图

大小: 3.31 K
尺寸: 215 x 52
浏览: 1 次
点击打开新窗口浏览全图

大小: 5.56 K
尺寸: 500 x 46
浏览: 11 次
点击打开新窗口浏览全图

代码如下:
* 功能:分页类
* 作者:phpox
* 时间:Sat Jul 14 18:15:02 CST 2007
*/ defined('PHPOX') or die(header("HTTP/1.1 403 Not Forbidden")); class page{
public $infocount;
public $pagecount;
public $items;
public $pageno;
public $start;
public $next;
public $prev;
public $maxpages; public function __construct($infocount,$items,$pageno){
$this->infocount = $infocount;
$this->items = $items;
$this->pageno = $pageno;
$this->pagecount = $this->getpagecount();
$this->justpageno();
$this->start = $this->getstart();
$this->gotoprev();
$this->gotonext();
} private function justpageno(){
if (emptyempty($this->pageno) || $this->pageno < 1){
$this->pageno = 1;
}
if ($this->pageno > $this->pagecount){
$this->pageno = $this->pagecount;
}
} private function gotonext(){
$next = $this->pageno + 1;
if ($next > $this->pagecount){
$this->next = $this->pagecount;
}else {
$this->next = $next;
} } private function gotoprev(){
$prev = $this->pageno -1;
if ($prev < 1){
$this->prev = 1;
}else {
$this->prev = $prev;
}
} private function getpagecount(){
return ceil($this->infocount / $this->items);
} private function getstart(){
if ($this->pageno <= 1){
return 0;
}else {
return ($this->pageno - 1) * $this->items;
}
} /**
* 样式0(php)
*/
public function showpage($ctlname,$actname,$args = null){
if ($args !== null){
if (is_array($args)){
$str = '&'.encode_url_args($args);
}
}
$out = '';
$out .= "每页显示{$this->items}条信息 ";
$out .= "当前页

pageno}/{$this->pagecount}

";
$out .= "共有{$this->infocount}条信息 ";
$out .= "首页 ";
$out .= "上一页 ";
$out .= "下一页 ";
$out .= "尾页 ";
$out .= "跳转到:";
$out .= "\n";
return $out;
} /**
* 样式1(html)
*/
function htmlshowpage($path,$list,$film){
$out = '';
$out .= "每页显示{$this->items}条信息 ";
$out .= "当前页

pageno}/{$this->pagecount}

";
$out .= "共有{$this->infocount}条信息 ";
$out .= "首页 ";
$out .= "上一页 ";
$out .= "下一页 ";
$out .= "尾页 ";
$out .= "跳转到:";
$out .= "\n";
return $out;
} /**
* 样式2(discuz)
*/
function multi($mpurl,$page = 10) { $multipage = '';
$mpurl .= strpos($mpurl,'?') !== false ? '&' : '?';
$realpages = 1;
if($this->infocount > $this->items) {
$offset = 2; $realpages = @ceil($this->infocount / $this->items);
$pages = $this->maxpages && $this->maxpages < $realpages ? $this->maxpages : $realpages; if($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $this->pageno - $offset;
$to = $from + $page - 1;
if($from < 1) {
$to = $this->pageno + 1 - $from;
$from = 1;
if($to - $from < $page) {
$to = $page;
}
} elseif($to > $pages) {
$from = $pages - $page + 1;
$to = $pages;
}
} $multipage = ($this->pageno - $offset > 1 && $pages > $page ? '' : '').
($this->pageno > 1 ? '
' : '');
for($i = $from; $i <= $to; $i++) {
$multipage .= $i == $this->pageno ? '
'.$i.'' :'';
} $multipage .= ($this->pageno < $pages ? '
>' : '').
($to < $pages ? '' : '').
($pages > $page ? '' : ''); $multipage = $multipage ? '
' : '';
}
return $multipage;
} /**
* 样式3(zol)
*/
public function zol($mpurl)
{
$mpurl .= strpos($mpurl,'?') !== false ? '&' : '?';
$code = '
$code .= '
pageno.'pagecount.'页 每页items.'infocount.'款产品
';
$code .= '$code .= 'if ($this->pageno == $this->prev)
{
$code .= "
<<上一页}
else
{
$code .= "
<<上一页}
$i = 10 ;
$k = 1;
if ($this->pageno < 1)
{
$this->pageno = 1;
}
if ($this->pageno > $this->pagecount)
{
$this->pageno = $this->pagecount;
}
$s = $this->pageno-2;
if ($s <= 0)
{
$s = 1;
}
$e = $this->pageno+2;
if ($e < 5 )
{
$e = 5;
}
if ($e > $this->pagecount)
{
$e = $this->pagecount;
}
for ($j=$s;$j<=$e;$j++)
{
if ($this->pageno == $j)
{
$code .= '
}
else
{
$code .= "
}
}
if ($this->pageno == $this->pagecount)
{
$code .= "
下一页>>}
else
{
$code .= "
下一页>>}
$code .= '$code .= '$code .= '';
return $code;
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较
C++ 框架与其他 Web 开发框架的对比分析
使用 C++ 框架构建大型项目最佳实践
C++ 框架如何提高大型项目开发效率
C++ 框架中依赖注入的持续集成与部署工具
如何与社区协作和贡献到自定义 Golang 框架?
C++ 框架在大型项目中如何实现模块化开发
使用 C++ 框架开发跨平台 Web 应用
C++ 框架在大型项目中的优缺点
golang框架在性能上的优势体现在哪些方面?
C++ 框架在嵌入式系统内存优化中的优势
golang框架在人工智能与机器学习中的作用
如何扩展 Golang 框架以支持特定功能?
如何利用 Go Modules 和依赖项管理来自定义 Golang 框架?
Golang 框架中的性能优化技巧