class MySQLPagedResultSet
{
var $results;
var $pageSize;
var $page;
var $row;
function MySQLPagedResultSet($query,$pageSize,$cnx)
{
global $resultpage;
$this->results = @mysql_query($query,$cnx);
$this->pageSize = $pageSize;
if ((int)$resultpage <= 0) $resultpage = 1;
if ($resultpage > $this->getNumPages())
$resultpage = $this->getNumPages();
$this->setPageNum($resultpage);
}
function getNumPages()
{
if (!$this->results) return FALSE;
return ceil(mysql_num_rows($this->results) /
(float)$this->pageSize);
}
function setPageNum($pageNum)
{
if ($pageNum > $this->getNumPages() or
$pageNum <= 0) return FALSE;
$this->page = $pageNum;
$this->row = 0;
mysql_data_seek($this->results,($pageNum-1) * $this->pageSize);
}
function getPageNum()
{
return $this->page;
}
function isLastPage()
{
return ($this->page >= $this->getNumPages());
}
function isFirstPage()
{
return ($this->page <= 1);
}
function fetchArray()
{
if (!$this->results) return FALSE;
if ($this->row >= $this->pageSize) return FALSE;
$this->row++;
return mysql_fetch_array($this->results);
}
function getPageNav($phpfile,$queryvars='',$maxNavItems=5)
{ //echo "params:".$queryvars;
if (!$this->isFirstPage())
{
$nav .= "getPageNum()-1).'&'.$queryvars.'><< ';
}
if ($this->getNumPages() > 1)
for ($i=1; $i<=$this->getNumPages(); $i++)
{ //echo '['.abs($this->page-$i).']';
if (abs($this->page-$i) > $maxNavItems);
elseif (abs($this->page-$i) == $maxNavItems)
$nav .= " ... ";
elseif ($i==$this->page)
$nav .= "$i ";
else
$nav .= " {$i} ";
}
if (!$this->isLastPage())
{
$nav .= "getPageNum()+1).'&'.$queryvars.'>>> ';
}
return $nav;
}
}
?>It doesn't connect!