PagedQuery Class Reference

Inheritance diagram for PagedQuery:

Query

List of all members.

Public Member Functions

 __construct (Connection $conn, $sql=null, $page=1, $rowsPerPage=25)
 Create a new Query.
 setPage ($page)
 Set the current page number (First page is 1).
 getPage ()
 Get current page.
 setRowsPerPage ($r)
 Set the number of rows per page.
 getRowsPerPage ()
 Get number of rows per page.
 getTotalRecordCount ()
 Gets the total number (un-LIMITed) of records.

Private Member Functions

 calculateStart ()
 Calculate startrow / max rows based on current page and rows-per-page.

Private Attributes

 $page


Detailed Description

Definition at line 35 of file PagedQuery.php.


Constructor & Destructor Documentation

PagedQuery::__construct ( Connection conn,
sql = null,
page = 1,
rowsPerPage = 25 
)

Create a new Query.

Parameters:
Connection $conn
string $sql

Definition at line 45 of file PagedQuery.php.

References $page, Query::$sql, setPage(), and setRowsPerPage().

00046     {
00047         parent::__construct($conn, $sql);
00048         $this->setRowsPerPage($rowsPerPage);
00049         $this->setPage($page);
00050     }


Member Function Documentation

PagedQuery::calculateStart (  )  [private]

Calculate startrow / max rows based on current page and rows-per-page.

Returns:
void

Definition at line 97 of file PagedQuery.php.

Referenced by setPage(), and setRowsPerPage().

00098     {
00099         $this->start = ( ($this->page - 1) * $this->max );
00100     }

PagedQuery::getPage (  ) 

Get current page.

Returns:
int

Definition at line 68 of file PagedQuery.php.

00069     {
00070         return $this->page;
00071     }

PagedQuery::getRowsPerPage (  ) 

Get number of rows per page.

Returns:
int

Definition at line 88 of file PagedQuery.php.

00089     {
00090         return $this->max;
00091     }

PagedQuery::getTotalRecordCount (  ) 

Gets the total number (un-LIMITed) of records.

This method will perform a query that executes un-LIMITed query. This method is not performance-conscious, so don't call this repeatedly for the same query.

Returns:
int Total number of records - disregarding page, maxrows, etc.
Exceptions:
SQLException 

Definition at line 112 of file PagedQuery.php.

00113     {
00114         $rs = $this->conn->createStatement()->executeQuery($this->sql);
00115         return $rs->getRecordCount();
00116     }

PagedQuery::setPage ( page  ) 

Set the current page number (First page is 1).

Parameters:
int $page
Returns:
void

Definition at line 57 of file PagedQuery.php.

References $page, and calculateStart().

Referenced by __construct().

00058     {
00059         $this->page = $page;
00060         // (re-)calculate start rec
00061         $this->calculateStart();
00062     }

PagedQuery::setRowsPerPage ( r  ) 

Set the number of rows per page.

Parameters:
int $r

Definition at line 77 of file PagedQuery.php.

References calculateStart().

Referenced by __construct().

00078     {
00079         $this->max = $r;
00080         // (re-)calculate start rec
00081         $this->calculateStart();
00082     }


Member Data Documentation

PagedQuery::$page [private]

Definition at line 38 of file PagedQuery.php.

Referenced by __construct(), and setPage().


The documentation for this class was generated from the following file:

Generated on Wed May 6 23:10:50 2009 for fareofficelib by  doxygen 1.5.8