Статические не нужно.
Но если функция paginate() не поддерживает передачу параметров, то я и предполагаю, что запрос в нее пердедается по-старинке, вместе с данными. Ведь это же функция общего назначения, не только для этого одного статического запроса?
Вырезка из paginate.
Передается через GET одна переменная - номер страницы.
Устанавливаем номер страницы по дефолту 1. Т.е. если ошибка, вернет данные первой страницы.
Далее узнаем количество записей всего, делим на нужно количество записей на стр., получаем количество страниц.
Используется статический запрос.
Далее выборка из бд. Даже тут по идее данные для лимита можно было не выносить на фильтрацию,
так как единственная числовая переменная уже фильтровалась выше. На этом работа с mysql в paginate закончена.
PHP:
var $turn = 1;
if (isset($_GET['turn'] )) {
$turn = intval($_GET['turn'] );
if ($turn){$this->turn = $turn;}
}
$all_rs = $db->query($this->sql );
$this->total_rows = $db->numRows($all_rs );
if ($this->turn > $this->max_pages || $this->turn <= 0) {
$this->turn = 1;
}
$this->offset = $this->rows_per_page * ($this->turn - 1);
$rs = $db->query($this->sql .' LIMIT ?i, ?i',$this->offset, $this->rows_per_page);
if (! $rs) {
if ($this->debug)
echo "Pagination query failed. Check your query.<br /><br />Error...";
return false;
}
return $rs;