Поиск данных из-за ошибки второй страницы - PullRequest
0 голосов
/ 14 сентября 2018

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

$this -> load -> library('pagination');
    $config['base_url'] = site_url("admin/pcustomer/cprofile");
    $config['total_rows'] = $data['counts'];
    $config['uri_segment'] = 4;
    $config['per_page'] = $limit;
    $config['display_pages'] = TRUE;
    $config['full_tag_open'] = "<ul class='pagination'>";
    $config['full_tag_close'] = "</ul>";
    $config['num_tag_open'] = '<li>';
    $config['num_tag_close'] = '</li>';
    $config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
    $config['cur_tag_close'] = "<span class='sr-only'></span></a></li>";
    $config['next_tag_open'] = "<li>";
    $config['next_tagl_close'] = "</li>";
    $config['prev_tag_open'] = "<li>";
    $config['prev_tagl_close'] = "</li>";
    $config['first_tag_open'] = "<li>";
    $config['first_tagl_close'] = "</li>";
    $config['last_tag_open'] = "<li>";
    $config['last_tagl_close'] = "</li>";
    $config['suffix'] = '?' . http_build_query($_GET, '', "&");//array_merge($_GET, $_POST));
    $config['first_url'] = $config['base_url'] .$config['suffix'];
    $this -> pagination -> initialize($config);
    $data['pagination'] = $this -> pagination -> create_links();

и мой поиск

function ajxSearchProfile(){
     //$_GET = array_merge($_POST, $_GET);
    $result = $this->model_profile->searchCustomerProfile($this->input->post('term'));
    echo json_encode($result);

}

ифункция поиска модели

 function searchCustomerProfile($search = ''){
    $this->db->like('name',$search);
    $this->db->select('id,name');
    $last=2;
    $this->db->where('lastAttendance',$last);
    $query = $this->db->get('customer');
    return $query->result();
}
and my ajax for search content
<script type="text/javascript">
$(document).ready(function() {
$('#customer').select2({
    placeholder : "Select customer",
    allowClear : true,
    minimumInputLength :2,
    ajax : {
            url : '<?php echo base_url('admin/pcustomer/ajxSearchProfile'); 
             ?>',
            dataType :'json',
            type :'post',
            quietMillis :50,
            data : function(params){
                return {
                    term :params.term
                };
            },
            processResults : function(data){
                return {
                    results : $.map(data,function(item){
                        return {
                            text :item.name,
                            id :item.id
                        }
                    })
                };
            }
        }
    });
    });
 </script>

, возможно, этот вопрос уже задавался, но я новичок в коде воспламенителя, поэтому я не могу понять из этого

1 Ответ

0 голосов
/ 14 сентября 2018

Во-первых, согласно вашему URL-адресу, который равен

localhost/ci/cprofile/50?name="ram"    

, вы принимаете значение в пост-запросе в вашей функции ajxSearchProfile, что неверно.Правильный синтаксис должен быть

function ajxSearchProfile(){    
     //$_GET = array_merge($_POST, $_GET);    
    $result = $this->model_profile->searchCustomerProfile($this->input->get('term'));    
    echo json_encode($result);
}

Теперь решение вашей проблемы заключается в том, что если вы ищете с помощью метода get, вам нужно добавить следующие строки: -

$config['reuse_query_string'] = TRUE;  
$config['page_query_string'] = TRUE;  
$config['enable_query_string'] = TRUE; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...