کاملاً متوجه نشدم منظورتون از فیلتر چیه ؟
ولی اینطور که برداشت کردم
بهتره شما همون روش صفحه بندی رو انجام بدید و بعد تو خود تیبلی که جهت نمایش اطلاعات هست فیلتر رو انجام بدید (بنا به نیاز مشتری) یعنی سمت یوزر، البته این فیلتر غیر از فیلتریهایی که هست که موقع واکشی انجام میشه
نمونه واکشی و فیلنر اطلاعات موقع کوئری:
$this->_qSql = "SELECT $Cols FROM `$tAble` $SwheRe $sort";
function paginate() {
$dBA->pdoQuery($this->_qSql);
$this->total_rows = $dBA->_recordCount;
//Return FALSE if no rows found
if ($this->total_rows == 0) {
if ($this->debug)
echo "Query returned zero rows.";
return FALSE;
}
//Max number of pages
$this->max_pages = ceil($this->total_rows / $this->rows_per_page);
if ($this->links_per_page > $this->max_pages) {
$this->links_per_page = $this->max_pages;
}
if ($this->page > $this->max_pages || $this->page <= 0) {
$this->page = 1;
}
//Calculate
$this->offset = $this->rows_per_page * ($this->page - 1);
$run = $dBA->pdoQuery($this->_qSql . " LIMIT {$this->offset}, {$this->rows_per_page}")->_qResult;
if (!$run) {
if ($this->debug)
//error
return false;
}
return $dBA->_featch;
}
بعد از اینکه اطلاعات رو صفحه بندی کردید بقیه فیلترها رو میتونید سمت کاربر با کتابخانه های جاوا اسکریپت انجام بدید
موفق باشید