分页问题?

时间:2011-08-14 15:45:05

标签: php codeigniter pagination

我使用codeigniter

为什么不在我的代码中使用$this->pagination->create_links()问题1:我有这个错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: offset

Filename: admin/accommodation.php

Line Number: 45

问题2:点击$this->pagination->create_links()后,更改网址,但不会更改内容表。使用XAMPP

我该怎么办?

我的代码:

function show() 
    {       
        // load pagination class
    $this->load->library('pagination');
    $config['base_url'] = base_url().'admin/accommodation/show';
    $config['total_rows'] = $this->db->count_all('hotel_submits');
    $config['per_page'] = '2';

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

    $offset = (int) $offset; // just to make sure nothing funky gets in here
    $data['results'] = $this->db->query("SELECT @rownum:=@rownum+1 rownum, t.* ".
        "FROM (SELECT @rownum:=0) r, hotel_submits t ".
        "ORDER BY id desc LIMIT $offset, 2");

        $this->load->view('admin/accommodation_submit_show', $data);   
    }

尊重

1 个答案:

答案 0 :(得分:2)

您在查询中使用的变量$offset未定义。您必须将其作为方法参数传递,或使用$this->uri->segment(n)

您是否在create jquery pagination?

上阅读了我的答案

您必须将$ offset传递给您的方法:

function show($offset = 0) 
{
    // code goes here
}

我假设您在名为“admin”的文件夹中安装了Codeigniter,并且您的控制器名称为“accommodation”。在这种情况下,您必须像这样设置$config['base_url']

$config['base_url'] = 'accommodation/show';

修改

如果 admin 不是您已安装Codeigniter的文件夹,而是 controllers 文件夹中包含 accommodation 控制器的文件夹在其中,那么你将不得不使用它:

$config['base_url'] = 'admin/accommodation/show';
$config['uri_segment'] = 4;