Handling paging and SQL offset/limit

package salt\utils

 Methods

Create a new Pagination object

__construct(integer $offset, integer $limit = \salt\Pagination::DEFAULT_LIMIT, boolean $locked = false

Parameters

$offset

integer

current offset

$limit

integer

limit / page size

$locked

boolean

true if object is used for SQL offset/limit only and not for paging

Return the total size of elements

getCount() : integer

Returns

integertotal size of elements

Get current limit/page size

getLimit() : integer

Returns

integercurrent limit

Get total number of pages

getMaxPages() : integer

Returns

integernumber of pages

Get current offset

getOffset() : integer

Returns

integercurrent offset

Get offset from a page number

getOffsetFromPage(integer $page) : integer

Parameters

$page

integer

Returns

integerthe offset for this page

Get current page number

getPage() : integer

Returns

integercurrent page number

Return TRUE if setCount() is not called with value greater than or equal 0

isEmpty() : boolean

Returns

booleanTRUE if the Pagination object is not used

Check if pagination is locked

isLocked() : boolean

Returns

booleantrue if this object is used for SQL offset/limit only and not for paging

Avoid reset of offset if offset is greater than elements count. Can be used for handling multiple queries with one Pagination

noReset() 

Set the total size of elements

setCount(integer $count) 

Parameters

$count

integer

total size of elements

Set the current offset

setOffset(integer $offset) 

Parameters

$offset

integer

current offset

 Properties

 

true if you allow SALT to reset counter if the value is outside of elements count. Set it to FALSE if you want to manually handle count (multiple queries with 1 pagination)

$allowReset : boolean

Default

TRUE
 

total count of elements

$count : integer

Default

-1
 

current limit/page size

$limit : integer

Default

 

true if object is locked : cannot be used for paging, only for SQL offset/limit

$locked : boolean

Default

false
 

current offset

$offset : integer

Default

0

 Constants

 

default limit/page size

DEFAULT_LIMIT = 100