我使用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);
}
尊重
答案 0 :(得分:2)
您在查询中使用的变量$offset
未定义。您必须将其作为方法参数传递,或使用$this->uri->segment(n)
。
您必须将$ 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;