File Manager
<?php
/**
* This file contains the sql_resultset class.
*
* @package CGExtensions
* @category Query
* @author calguy1000 <calguy1000@cmsmadesimple.org>
* @copyright Copyright 2014 by Robert Campbell
*/
namespace CGExtensions\query;
/**
* A class to allow iterating and fetching the results from an SQL query.
*/
class sql_resultset extends resultset
{
/**
* Constructor
*
* @param sql_query $query The input query object
*/
public function __construct(sql_query $query)
{
$this->_filter = $query;
}
/**
* @ignore
* @internal
*/
protected function _query()
{
if( $this->_rs ) return;
$sql = $this->_filter['sql'];
// get the first two words out of the query
list($w1,$w2,$junk) = explode(' ',$sql);
if( strtoupper($w1) == 'SELECT' ) {
if( strtoupper($w2) != 'SQL_CALC_FOUND_ROWS') {
// inject SQL_CALC_FOUND_ROWS
$sql = substr_replace($sql,'SELECT SQl_CALC_FOUND_ROWS',0,strlen('SELECT'));
}
}
$db = \cge_utils::get_db();
$this->_rs = $db->SelectLimit($sql,$this->_filter['limit'],$this->_filter['offset'],
$this->_filter['parms']);
$this->_totalmatching = (int) $db->GetOne('SELECT FOUND_ROWS()');
}
/**
* Get the object associated with the resultset.
* This method is not utilized for this class, and will throw an exception.
*/
public function &get_object()
{
throw new \LogicException(__METHOD__.' is not utilized in this class');
}
} // end of class
?>
File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com