CodeIgniter Pagination для двух разных результатов базы данных

У меня есть два результата запроса, список курсов и список профилей пользователей. Эти запросы не связаны друг с другом.

Я хочу отображать курсы и профили пользователей в одном представлении. Как установить 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;

Два набора результатов в одном представлении И работают с одной нумерацией страниц. Помогите?

-1

Решение

Две идеи:

Разместите две страницы на странице, по одной для каждой таблицы.

Заполните меньшую таблицу пустыми строками и сделайте после расчета предела для вашего
запрос.

Но это звучит, что ваша проблема до вывода и нумерации страниц.

0

Другие решения

Итак, это решение моей проблемы.

Я хотел, чтобы два набора результатов были в одном представлении.
Я хочу, чтобы на одной странице отображалось 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 и это смещение $ в запросе вашей базы данных.

Надеюсь, это кому-нибудь поможет.

-1

По вопросам рекламы [email protected]