Codeigniter的分页不起作用

时间:2011-11-23 23:59:49

标签: codeigniter codeigniter-2

我正在尝试根据用户的查询显示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 个答案:

答案 0 :(得分:1)

我会将初始发布的数据复制到会话中:

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 */

最好还要检查会话中的信息是否也可用。