problem with pagination?

2019-09-20 16:10发布

i use of codeigniter

Why not work $this->pagination->create_links() in my code?
Problem 1: I have this error:

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: offset

Filename: admin/accommodation.php

Line Number: 45

Problem 2: After click on $this->pagination->create_links(), change url, but does not change content table.i use of XAMPP

What do i do?

my code:

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);   
    }

With respect

1条回答
贪生不怕死
2楼-- · 2019-09-20 16:43

The variable $offset that you're using in your query in undefined. You have to pass it in as a method parameter, or use $this->uri->segment(n).

Have you read my answer on create jquery pagination?

You have to pass $offset to your method:

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

I'll assume you have an installation of Codeigniter in a folder called "admin", and your controller's name is "accommodation". In that case you have to set $config['base_url'] like this:

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

EDIT:

If admin is not the folder you've installed Codeigniter in, but rather a folder inside your controllers folder which has the accommodation controller in it, then you'll have to use this:

$config['base_url'] = 'admin/accommodation/show';
$config['uri_segment'] = 4;
查看更多
登录 后发表回答