bubblenut
02-04-2004, 09:18 AM
<?php
class Paginator
{
var $IN_LIST=5;
var $page;
var $num_pages;
var $totrows;
var $perpage;
var $links=false;
var $limit=false;
function Paginator($page,$totrows,$perpage)
{
$num_pages=(int)($totrows/$perpage)+($totrows%$perpage==0?0:1);
if($page>$num_pages)
$this->page=1;
else
$this->page=$page;
$this->num_pages=$num_pages;
$this->totrows=$totrows;
$this->perpage=$perpage;
}
function getLinks($link)
{
if($this->links===false) {
if($this->page>1) {
$links='<a href="'.$link.'page='.($this->page-1)."\">Prev</a> ";
} else {
$links='Prev ';
}
if(($this->page-((int)($this->IN_LIST/2)))<1) {
$start=1;
} else {
$start=$this->page-((int)($this->IN_LIST/2));
}
if(($start+$this->IN_LIST)>$this->num_pages) {
$start-=($start+$this->IN_LIST)-($this->num_pages+1);
$end=$this->num_pages;
} else {
$end=($start+$this->IN_LIST)-1;
}
if($start>1) $links.="... ";
for($i=$start;$i<=$end;$i++) {
if($i==$this->page) {
$links.=$i." ";
} else {
$links.='<a href="'.$link.'page='.$i.'">'.$i."</a> ";
}
}
if($end<$this->num_pages) $links.="... ";
if($this->page<$this->num_pages) {
$links.='<a href="'.$link.'page='.($this->page+1)."\">Next</a> ";
} else {
$links.='Next ';
}
$this->links=$links;
}
return $this->links;
}
function getLimit()
{
if($this->limit===false) {
$this->limit=(($this->page-1)*$this->perpage).",".$this->perpage;
}
return $this->limit;
}
function getPage()
{
return $this->page;
}
function getNumPages()
{
return $this->num_pages;
}
function getTotalRows()
{
return $this->totrows;
}
function getPerPage()
{
return $this->per_page;
}
}
?>
What do you think?
Bubble
class Paginator
{
var $IN_LIST=5;
var $page;
var $num_pages;
var $totrows;
var $perpage;
var $links=false;
var $limit=false;
function Paginator($page,$totrows,$perpage)
{
$num_pages=(int)($totrows/$perpage)+($totrows%$perpage==0?0:1);
if($page>$num_pages)
$this->page=1;
else
$this->page=$page;
$this->num_pages=$num_pages;
$this->totrows=$totrows;
$this->perpage=$perpage;
}
function getLinks($link)
{
if($this->links===false) {
if($this->page>1) {
$links='<a href="'.$link.'page='.($this->page-1)."\">Prev</a> ";
} else {
$links='Prev ';
}
if(($this->page-((int)($this->IN_LIST/2)))<1) {
$start=1;
} else {
$start=$this->page-((int)($this->IN_LIST/2));
}
if(($start+$this->IN_LIST)>$this->num_pages) {
$start-=($start+$this->IN_LIST)-($this->num_pages+1);
$end=$this->num_pages;
} else {
$end=($start+$this->IN_LIST)-1;
}
if($start>1) $links.="... ";
for($i=$start;$i<=$end;$i++) {
if($i==$this->page) {
$links.=$i." ";
} else {
$links.='<a href="'.$link.'page='.$i.'">'.$i."</a> ";
}
}
if($end<$this->num_pages) $links.="... ";
if($this->page<$this->num_pages) {
$links.='<a href="'.$link.'page='.($this->page+1)."\">Next</a> ";
} else {
$links.='Next ';
}
$this->links=$links;
}
return $this->links;
}
function getLimit()
{
if($this->limit===false) {
$this->limit=(($this->page-1)*$this->perpage).",".$this->perpage;
}
return $this->limit;
}
function getPage()
{
return $this->page;
}
function getNumPages()
{
return $this->num_pages;
}
function getTotalRows()
{
return $this->totrows;
}
function getPerPage()
{
return $this->per_page;
}
}
?>
What do you think?
Bubble