Разбивка на страницы не работает при фильтрации данных в codeigniter

#php #jquery #codeigniter

#php #jquery #codeigniter

Вопрос:

search-job.php

 <input type="checkbox" name="category" id="It jobs" class="category"> It jobs
<input type="checkbox" name="category" id="Hr jobs" class="category"> Hr jobs
<input type="checkbox" name="category" id="Hardware jobs" class="category"> Hardware jobs
<script>
    $(document).ready(function(){
        $(".category").click(function(){
            key = this.id;
            $.ajax({
               type:"POST",
               data:{"key":key},
               url:"<?php echo base_url(); ?>key_job",
               success:function(data){
                   $("#search_filter_job").html(data);
               }
            });
        });
    });
<script>
  

Контроллер:

 public function search_key_job()
{
    $category = $this->input->post('key');

    $config = array();
    $config["base_url"] = base_url()."welcome/search-job";
    $config["total_rows"] = $this->user_data->search_filter_count($category);
    $config["per_page"] = 7;
    $config["uri_segment"] = 3;
    $this->pagination->initialize($config);
    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
    $data['result'] = $this->user_data->search_filter($category,$config["per_page"], $page);
    $data["links"] = $this->pagination->create_links();

    $this->load->view('search_key_job',$data);
}
  

Модель:

 public function search_filter($category,$limit, $start)
{
    $where = "category='".$category."'";
    $this->db->where($where);
    $this->db->limit($limit, $start);
    $query = $this->db->get("job");
    if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }
    else
    {
        $this->session->set_flashdata('error_msg','<p>We are sorry. No job found</p>');
    }
    return false;
}

public function search_filter_count($category)
{
    $this->db->select('*');
    $this->db->from('job');
    $where = "category='".$category."'";
    $this->db->where($where);
    $query = $this->db->get();
    $result = $query->num_rows();
    return $result;
}
  

search_key_job.php

 <?php
    foreach($result as $row)
    {
?>  
        <h5><?php echo $row->job_title; ?></h4> 
<?php
    }
?>
<p style="text-align: center;width: 73.5%;"><?php echo $links; ?></p>
  

В этом коде у меня их несколько checkbox with name="category" Теперь, что я здесь делаю, когда я нажимаю на определенную категорию, тогда отображаются задания, и разбивка на страницы также работает нормально, но при нажатии кнопки next разбивка на страницы обновляет страницу и показывает мне search-job.php страницу, но я хочу показывать только данные разбивки по страницам фильтра флажка. Итак, как я могу это сделать? Пожалуйста, помогите мне.

Спасибо

Комментарии:

1. Можете ли вы прикрепить экраны просмотра?

Ответ №1:

Вы должны добавить [] к своему имени флажков:

Пример:

 <input type="checkbox" name="category[]" id="It jobs" class="category"> It jobs
<input type="checkbox" name="category[]" id="Hr jobs" class="category"> Hr jobs
<input type="checkbox" name="category[]" id="Hardware jobs" class="category"> Hardware jobs