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

时间:2016-01-23 02:26:49

标签: php codeigniter

我在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'; 

我想在这里实现的是,当我点击&#34; View&#34;然后它应该显示另一个页面,其中包含从&#34; admin_pages&#34;中提取的特定链接的内容。表格基于参数&#34; $ id&#34;从网址传递给它。

但是,当我点击该链接时,它会向我显示页面未找到错误。

非常感谢任何形式的帮助。

1 个答案:

答案 0 :(得分:0)

经过反复试验,我找到了一个解决方法,我想分享以备日后参考。

我将链接更改为:
查看

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

然后在路线中我改变了:
<强>路线

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

这意味着,只要URL中的base_url / page后跟一个“id”,它就会被重新映射或转到控制器“mycontroller”中的“view”方法,并且id将作为一个传递给方法的参数,该方法将在其定义中收到$ id。