У меня есть два результата запроса, список курсов и список профилей пользователей. Эти запросы не связаны друг с другом.
Я хочу отображать курсы и профили пользователей в одном представлении. Как установить LIMIT и OFFSET для каждого из этих запросов, чтобы нумерация страниц работала нормально?
И как будет выглядеть значение pagination $ config?
Что я попробовал!
У меня есть метод tabel_list () в моей модели, которая возвращает записи и общее количество записей возвращается.
Для курсов:
$rows = $this->main_model->tabel_list($this->limit , $this->uri->segment(3), $joins, $order_by, $table, $select_fields, $condit, $group_by);
$data['total_rows'] = $rows['rows']['total'];
$records = $rows['list'];
$data['products'] = $records;
Для профилей пользователей:
Если что-то верно, извлеките также профили пользователей для просмотра.
$data['tutors'] = $tutor_records['list'];
$individual_rows = $tutor_records['rows']['total'];
$final_num_rows = $rows['rows']['total'] + $individual_rows;
$data['total_rows'] = $final_num_rows;
Конфиги:
$config['total_rows'] = $data['total_rows'];
$config['base_url'] = base_url() . "home/courses/";
$config['per_page'] = $this->limit;
$config['uri_segment'] = 3;
Два набора результатов в одном представлении И работают с одной нумерацией страниц. Помогите?
Две идеи:
Разместите две страницы на странице, по одной для каждой таблицы.
Заполните меньшую таблицу пустыми строками и сделайте после расчета предела для вашего
запрос.
Но это звучит, что ваша проблема до вывода и нумерации страниц.
Итак, это решение моей проблемы.
Я хотел, чтобы два набора результатов были в одном представлении.
Я хочу, чтобы на одной странице отображалось 20 записей. Так,
$config['per_page'] = 20
Если пользователю нужен только список курсов, выполняется только один запрос, иначе должны отображаться два результата запроса. Каким должно быть смещение запросов?
Ну, простая условная проверка / флаг может определить, хочет ли пользователь два набора результатов, и если он / она хочет два набора результатов, разделите текущий индекс страницы на 2. Таким образом, у вас будет 10 результатов каждого набора результатов на стр.
if(user wants two sets of results on the same page))
{
$offset = $this->uri->segment(3) / 2;
}
Если пользователь хочет только один набор результатов,
$offset = $this->uri->segment(3);
Теперь используйте ограничение 20 и это смещение $ в запросе вашей базы данных.
Надеюсь, это кому-нибудь поможет.