I was having similar issues. I modified the split page to use the RecordCount() function from the query factory. this seems to work fine. does any one know if this will be an issue going forward?
my mod
PHP Code:
function splitPageResults(&$current_page_number, $max_rows_per_page, &$sql_query, &$query_num_rows) {
global $db;
$sql_query = preg_replace("/\n\r|\r\n|\n|\r/", " ", $sql_query);
if (empty($current_page_number)) $current_page_number = 1;
$current_page_number = (int)$current_page_number;
/*
* start MJFB
$pos_to = strlen($sql_query);
$query_lower = strtolower($sql_query);
$pos_from = strpos($query_lower, ' from', 0);
$pos_distinct_start = strpos($query_lower, ' distinct', 0);
$pos_distinct_end = strpos(substr($query_lower, $pos_distinct_start), ',', 0);
$pos_group_by = strpos($query_lower, ' group by', $pos_from);
if (($pos_group_by < $pos_to) && ($pos_group_by != false)) $pos_to = $pos_group_by;
$pos_having = strpos($query_lower, ' having', $pos_from);
if (($pos_having < $pos_to) && ($pos_having != false)) $pos_to = $pos_having;
$pos_order_by = strpos($query_lower, ' order by', $pos_from);
if (($pos_order_by < $pos_to) && ($pos_order_by != false)) $pos_to = $pos_order_by;
$sql = ($pos_distinct_start == 0) ? "select count(*) as total " : "select count(distinct " . substr($sql_query, $pos_distinct_start+9, $pos_distinct_end-9) . ") as total ";
$sql .= substr($sql_query, $pos_from, ($pos_to - $pos_from));
$reviews_count = $db->Execute($sql);
$query_num_rows = $reviews_count->fields['total'];
*/
$sql =$sql_query;
$reviews_count = $db->Execute($sql);
$query_num_rows = $reviews_count->RecordCount();
/*
* end mjfb
*/
$num_pages = ceil($query_num_rows / $max_rows_per_page);
if ($current_page_number > $num_pages) {
$current_page_number = $num_pages;
}
$offset = ($max_rows_per_page * ($current_page_number - 1));
// fix offset error on some versions
if ($offset < 0) { $offset = 0; }
$sql_query .= " limit " . $offset . ", " . $max_rows_per_page;
}