function pager($query, $start = 0, $limit = 25) {
if (!is_numeric($start)) {
$start = 0;
}
if (!is_numeric($limit)) {
$limit = 25;
}
//SQL_CALC_FOUND_ROWS
if (strpos (strtoupper($query), 'SQL_CALC_FOUND_ROWS') === false) {
$pattern = '/^SELECT (.*?) FROM/i';
$replacement = 'SELECT SQL_CALC_FOUND_ROWS $1 FROM ';
$query = preg_replace($pattern, $replacement, $query);
}
$rows = $this->get_results_assoc($query." LIMIT $start,$limit");
$total = $this->get_var("SELECT FOUND_ROWS()");
$get = $_GET;
$pages = ceil($total / $limit);
if ($pages > 1) {
$next = '';
$prev = '';
ob_start();
?>Page:
[prev]';
}
if (!$next) {
$next = '[next]';
}
echo $prev.' '.$next.'
';
$nav = ob_get_clean();
}
return array('nav' => $nav, 'rows' => $rows);
/*
list($total) = $this->get_row("SELECT COUNT(*) FROM users");
$users = $this->get_results_assoc("SELECT * FROM users ORDER BY admin DESC, uname");
foreach ($users as $user) {
echo $user['uname'].'
';
}
*/
}