Я вижу, что есть несколько методов, которые мы можем применить для разбивки на страницы, один из них использует библиотеку CI, которая генерирует ссылки для навигации.
- основная логика с центром в
выборка ограниченных данных, относящихся к отображению
и итерация при перемещении по ссылкам на нумерацию страниц. Вот моя логика модели без использования смещения (для производительности использовать первичный ключ id
)
с использованием лимита, максимума последнего запуска, пользовательского типа;поэтому следующий запуск должен выполняться в строках, превышающих предоставленный идентификатор.
в контроллере говорит, что я собираю результаты в данные ["results"] как
$data["results"] = $this->ressults_model->fetch_data($config["per_page"],$maxidvalue,$usertype);
в модели.
public function fetch_data($limit,$maxid,$usertype) {
$date = date('Y-m-d');
$this->db->limit($limit);
$this->db->order_by('post_date', 'DESC');
$this->db->select('id,title');
if ($usertype == 1)
{$query = $this->db->get_where('titles',array('id >' => $id,'expiry_date >' => $date));}
else
{$query = $this->db->get_where('titles',array('id >' => $id,'expiry_date >' => $date,'visibility'=>'All'));}
if ($query->num_rows() > 0)
{ return $query->result(); }
return array();
}
вызов как рекурсивно собирать и передавать максид для разбивки на страницы.
оцените некоторые указатели.
Спасибо