Выберите 2 нумерацию страниц с Ajax Codeigniter - PullRequest
1 голос
/ 28 января 2020

В настоящее время я использую метод ниже для реализации бесконечной прокрутки / нумерации страниц в select2.

JAVASCRIPT

$('#district').select2({
    placeholder: '--- Select District---',
    ajax: {
        url: '',
        dataType: 'json',
        delay: 250,
        data: function (params) {
            return {
                q: params.term, // search term
                page_limit: limit_rows,
                page: params.page
            };
        },
        processResults: function (data, params) {
            params.page = params.page || 1; 
            return {
                results: data.items,
                pagination: {
                    more: (params.page * limit_rows) < data.total
                }
            };
        },
        cache: false
    }
});

Контроллер

    $pglm = $this->input->get("page_limit");
            $page_lim = (empty($pglm) ? 10 : $pglm);
            $pg = $this->input->get("page");
            $page =  (empty($pg) ? 0 : $pg);
            $sira = $page * $page_lim;
$cnt=$this->db->query("select * from districtMst");
$filteredValues=$this->db->query("select id,name as text from districtMst LIMIT $sira , $page_lim ;")->result_array();

echo json_encode(array(
            'incomplete_results' => false,
            'items' => $filteredValues,
            'total' => count($cnt) // Total rows without LIMIT on SQL query
        ));

Выше работает отлично, как мне нужно. Я просто хочу знать, есть ли способ удалить запрос подсчета для подсчета общего количества строк. то есть каждый раз, когда будут вызываться данные страницы, будут запущены два запроса, что не очень хорошая идея для корпоративных приложений, поэтому мне интересно, есть ли лучший способ достичь тех же результатов. Заранее спасибо.

...