我在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;从网址传递给它。
但是,当我点击该链接时,它会向我显示页面未找到错误。
非常感谢任何形式的帮助。
答案 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。