class SS_Query implements Iterator

Abstract query-result class.

Once again, this should be subclassed by an actual database implementation. It will only ever be constructed by a subclass of SS_Database. The result of a database query - an iteratable object that's returned by DB::SS_Query

Primarily, the SS_Query class takes care of the iterator plumbing, letting the subclasses focusing on providing the specific data-access methods that are required: {@link nextRecord()}, {@link numRecords()} and {@link seek()}

Methods

array
column(string $column = null)

Return an array containing all the values from a specific column. If no column is set, then the first will be returned

array
keyedColumn()

Return an array containing all values in the leftmost column, where the keys are the same as the values.

array
map()

Return a map from the first column to the second column.

array
record()

Returns the next record in the iterator.

string
value()

Returns the first column of the first record.

string
table()

Return an HTML table containing the full result-set

array
rewind()

Iterator function implementation. Rewind the iterator to the first item and return it.

array
current()

Iterator function implementation. Return the current item of the iterator.

array
first()

Iterator function implementation. Return the first item of this iterator.

int
key()

Iterator function implementation. Return the row number of the current item.

array
next()

Iterator function implementation. Return the next record in the iterator.

bool
valid()

Iterator function implementation. Check if the iterator is pointing to a valid item.

array
nextRecord()

Return the next record in the query result.

int
numRecords()

Return the total number of items in the query result.

array
seek(int $rowNum)

Go to a specific row number in the query result and return the record.

Details

at line 45
array column(string $column = null)

Return an array containing all the values from a specific column. If no column is set, then the first will be returned

Parameters

string $column

Return Value

array

at line 65
array keyedColumn()

Return an array containing all values in the leftmost column, where the keys are the same as the values.

Return Value

array

at line 79
array map()

Return a map from the first column to the second column.

Return Value

array

at line 94
array record()

Returns the next record in the iterator.

Return Value

array

at line 103
string value()

Returns the first column of the first record.

Return Value

string

at line 113
string table()

Return an HTML table containing the full result-set

Return Value

string

at line 146
array rewind()

Iterator function implementation. Rewind the iterator to the first item and return it.

Makes use of {@link seek()} and {@link numRecords()}, takes care of the plumbing.

Return Value

array

at line 159
array current()

Iterator function implementation. Return the current item of the iterator.

Return Value

array

at line 172
array first()

Iterator function implementation. Return the first item of this iterator.

Return Value

array

at line 182
int key()

Iterator function implementation. Return the row number of the current item.

Return Value

int

at line 192
array next()

Iterator function implementation. Return the next record in the iterator.

Makes use of {@link nextRecord()}, takes care of the plumbing.

Return Value

array

at line 204
bool valid()

Iterator function implementation. Check if the iterator is pointing to a valid item.

Return Value

bool

at line 214
abstract array nextRecord()

Return the next record in the query result.

Return Value

array

at line 221
abstract int numRecords()

Return the total number of items in the query result.

Return Value

int

at line 229
abstract array seek(int $rowNum)

Go to a specific row number in the query result and return the record.

Parameters

int $rowNum Row number to go to.

Return Value

array