如何通过将 id 从页面链接传递到控制器来获取当前页面的内容


How to get the content of current page by passing id from page link to controller

我在Codeigniter工作。

这是我到目前为止为实现我的想法而编写的代码。

视图:

<li><a href=" echo $menu->url.'/'.$menu->id " >Gallery</a></li>

控制器:

function view($id){
$content['content'] = $this->MyModel->getContent($id);
$data['header'] = $this->load->view('header', '', true);
$data['content'] = $this->load->view('content', $content, true);
$this->load->view('main_view', $data);
}


 function getContent($id){
$this->db->select('page_title, content');
$this->db->from('admin_pages');
$this->db->where('id', $id);
............
return $query;
}

路线

$route['view/(:any)'] = 'mycontroller/view/$1'; 

在这里想要实现的是,当我单击"视图"中的链接时,它应该向我显示另一个页面,其中包含根据从 url 传递给它的参数"$id"从"admin_pages"表中获取的特定链接的内容。

但是,当我单击链接时,它给我页面找不到错误。

任何形式的帮助将不胜感激。

经过反复试验,我找到了一个解决方法,我想分享该解决方法以供将来参考。

我将链接更改为:
视图

<li><a href=" echo base_url().'page/'. $menu->id; " >Gallery</a></li>

然后在路线上我改变了:
路线

$route['page/(:any)'] = 'mycontroller/view/$1'; 

这意味着,每当URL中base_url/页面后跟"id"时,它将被重新映射或带到控制器"mycontroller"中的"view"方法,并且id将作为参数传递给该方法,该方法将在其定义中$id接收该方法。