Разбивка кодигнитора не работает - PullRequest
0 голосов
/ 24 ноября 2011

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

Пока у меня все хорошо, но проблема связана с нумерацией страниц. В настоящее время у меня есть восемь строк данных для отображения из моей базы данных, поэтому, чтобы проверить, работает ли нумерация страниц, я установил значение $ config ['per_page'] на 5 (пожалуйста, проверьте ниже). И теперь, когда я нажимаю на следующую кнопку, она не показывает никаких данных.

Я думаю, что проблема заключается в том, что когда я нажимаю кнопку «Далее», он снова переходит к контроллеру, но на этот раз контроллер не получает значения, которые пользователь отправил в первую очередь.

Не могли бы вы помочь мне с этим?

Заранее спасибо:)

Мой контроллер:

   function show(){

            $batchid=$this->input->post('batchid');
            $daterange1=$this->input->post('daterange1');
            $daterange2=$this->input->post('daterange2');



            $this->load->library('pagination');

                    $config['base_url'] = base_url().'markslist/show';

                    $this->db->select('*');
                        $this->db->from('marks');
                        $this->db->where('examdate', $daterange1); 
                        $this->db->where('examdate', $daterange2); 

                        $this->db->join('student', 'marks.studentid = student.studentid');
                        $this->db->where('batchid', $batchid); 
                        $this->db->order_by('batchid','DESC');
                        $query = $this->db->get('');
                        $numrows=$query->num_rows(); 

                    $config['total_rows'] = $numrows;
                    $config['per_page'] = 5;
                    $config['num_links'] = 20;
                    $config['full_tag_open'] = '<div class="pagination" align="center">';
                    $config['full_tag_close'] = '</div>';

                    $this->pagination->initialize($config); 


            // To get the subject lists
            $this->load->model('mod_markslist');
            $data['records']= $this->mod_markslist->listmarks($batchid,$daterange1,$daterange2,$config['per_page'],$this->uri->segment(3));



            $data['main_content']='view_markslist';
            $this->load->view('includes/template',$data);

    }

1 Ответ

1 голос
/ 24 ноября 2011

Я бы скопировал исходные данные в сеанс:

if($this->input->post()){
    $this->session->set_userdata('batchid', $this->input->post('batchid'));
    $batchid = $this->input->post('batchid');
    /* similar for the other posted fields */
}
else{
    $batchid = $this->session->userdata('batchid');
    /* similar for other fields now in session */
}
/* load pagination library etc */

Лучше всего также проверить, доступна ли информация в сеансе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...