0

私は現在、CodeIgniter を初めて使用し、codeigniter のページネーション クラスを使用してページネーションを追加しようとしています。

コントローラ:

public function view_emp(){
    $data['design'] = 'emp_view';
    $this->load->model('user_model');
    $data = $this->user_model->getall();
    $total_rows = $data->num_rows();

    $config['base_url'] = base_url() . 'main';
    $config['total_rows'] = $total_rows;
    $config['per_page'] = 10;

    $this->pagination->initialize($config); 
    $this->view_data['pagination'] = $this->pagination->create_links();
    $this->view_data['result'] = $data;

    if($this->session->userdata('is_logged_in')){
        $this->load->view('includes/template', $data);
    }
    else{
        redirect('main/restricted');
    }

モデル:

public function getall(){
    $query = $this->db->get('another_user');
    return $query->result();
}
public function getall_limit($start_row, $limit){
    $data = "SELECT * FROM another_user limit $start_row, $limit";
    $result = $this->db->query($data);
    return $result;
}

私の見解では、コントローラから $pagination をエコーし​​ました。今、本当に困っています。

4

2 に答える 2

0

これを試してください、あなたのモデルの変更:

 function getall(){
    return $this->db->count_all_results('another_user');
 }

 function getall_limit($limit = 0){
    $data   = array();
    $rs = $this->db->get('another_user', 10, $limit);
    if($rs->num_rows() > 0){
        $data   = $rs->result();
    }
    $rs->free_result();
    return $data;
 }

コントローラーの変更

 function view_emp(){
    $data['design'] = 'emp_view';
    $this->load->model('user_model');
    $data = $this->user_model->getall();
    $total_rows = $data['rows'];

    #pagination start
    $this->load->library('pagination');
    $config['base_url']         = base_url() . 'main';
    $config['total_rows']       = $this->user_model->getall();
    $config['per_page']         = 10;
    $config["uri_segment"]      = 3;
    //$config['next_link']        = 'Next';
    //$config['prev_link']        = 'Prev';
    //$config['cur_tag_open']     = '<span class="active_page">';
   // $config['cur_tag_close']    = '</span>';
    $this->pagination->initialize($config);
    #pagination end



    $this->pagination->initialize($config); 
    //$this->view_data['pagination'] = $this->pagination->create_links();
    $this->view_data['result'] = $this->user_model->getall_limit($this->uri->segment(3));

    if($this->session->userdata('is_logged_in')){
        $this->load->view('includes/template', $data);
    }
    else{
        redirect('main/restricted');
    }
}
于 2013-08-06T06:25:23.740 に答える
0

ビューレイヤーではなく、モデルレイヤーに問題があると思います。クエリが失敗したようです。$query->result(); に対して var_dump() または print_r() を実行します。

于 2013-08-06T03:33:03.883 に答える