1

每当我点击分页链接时...它显示未找到对象。我不知道如何将值传递给 {index.php/view_expenses/view&per_page=2} 这个页面。不介意这是一个愚蠢的问题我在 php 和 codeigniter 中只有 2 个月大。任何帮助都会很棒:D
这是我的控制器

    function view($offset=0)
    {
        $limit=5;
        $this->uri->segment(3);
        $this->load->model('emp_expenses_model');
        $result['contents']=$this->emp_expenses_model->getRows($limit,$offset);
        $result['countRows']=$this->emp_expenses_model->countRows();
        $this->load->library('pagination');
        $this->load->library('table');

        $config=array(
                    'base_url' => '/index.php/view_expenses/view',
                    'total_rows' => $this->db->get('emp_expenses')->num_rows($limit,$offset),
                    'per_page' => $limit,
                    'uri_segment' => 3,
                    'num_links' => 1,
        );   

        $this->db->limit(5);
        $this->pagination->initialize($config);
        $this->load->model('emp_expenses_model');
        $this->data['view_expenses'] = $this->emp_expenses_model->get_all();
        //var_dump($this->data['pay_list']);die("jk");
        $this->data['title'] = 'Payroll System';
        $this->data['message'] = $this->session->flashdata('message');
        $this->load->library('pagination');
        $this->load->view('view_expenses', $this->data);
        /*$this->load->view('add_list', $this->data);*/
}

这是我的模型

function getRows($limit,$offset)
{
    $query=$this->db->select('expenses_id,id,dropdown,modeofpayment,amount')
       ->from('emp_expenses')
       ->limit($limit,$offset);

    $result=$query->get()->result_array();
    return $result;
}

function countRows()
{
    $query="select count(*) as count from emp_expenses";
    $result=$this->db->query($query);
    return $result->result_array();
}
4

2 回答 2

0

模型的变化:

function countRows(){
    //$query="select count(*) as count from emp_expenses";
    $result = $this->db->count_all_results('emp_expenses');
    //$result=$this->db->query($query);
    return $result;
}

在您的控制器中更改以下行,

$result['countRows']=$this->emp_expenses_model->countRows();
    $this->load->library('pagination');
    $this->load->library('table');
    $config=array(
                    'base_url' => '/index.php/view_expenses/view/',
                    'total_rows' => $result['countRows'],
                    'per_page' => $limit,
                    'uri_segment' => 3,
                    'num_links' => 1,
     );

您正在加载model我看到的两次,请评论第二次。$result['contents']=$this->emp_expenses_model->getRows($limit,$offset);如果您没有在视图中加载它,为什么要使用它?

在您的视图中调用<?=$this->pagination->create_links()?>以查看分页。

于 2013-08-12T08:47:48.153 回答
0

要创建分页 HTML,您可以调用create_links(),然后将其与其他数据一起传递给您的视图。这将自动为您生成正确的链接。尝试将其包含在您的控制器中:

$this->data['pagination'] = $this->pagination->create_links();

确保你在之后调用它$this->pagination->initialize($config);

那么在你看来:

echo $pagination;

于 2013-08-12T08:43:24.083 回答