在提问之前,我已阅读documentation。并且还访问了相关主题的问题,但我没有帮助。
这是我的锚标记:
<a href="<?= base_url() ?>controller/function/application_title/id">link</a>
示例:
<a href="<?= base_url() ?>app_job/view_single_job /inventory_control_supervisor/1">link</a>
<a href="<?= base_url() ?>app_job/view_single_job /waste_stream_coordinator/3">link</a>
这是控制器:
public function view_single_job($app_title){
$id = $this->uri->segment(4);
$single_app = $this->app_model->get_single_app($id);
$this->load->view('app/single_app',['single_app'=>$single_app]);
}
路线:
$route['(:any)/(:num)'] = "controller/function/$1/$2";
我想在点击锚标记时加载视图,并显示像
这样的网址http://localhost/project/inventory_control_supervisor/1/
http://localhost/project/waste_stream_coordinator/3/
URL会根据应用程序ID不断更改。
我正在加载视图是一个问题?或者使用路线我必须使用重定向?
答案 0 :(得分:1)
这是您在锚标记中的网址
<a href="<?= base_url() ?>controller/function/application_title/id">link</a>
^ ^ ^ ^ ^
Base Path Controller Method Argument 01 Argument 02
Name Name
但是在您的控制器中,您只能检索一个public function view_single_job($app_title)
要捕获数据,请使用此
public function view_single_job($app_title,$id){
echo $app_title;
echo $id;
但您想要显示此类网址 http://localhost/project/application_title/1/
为此必须这样做
<a href="<?= base_url() ?>application_title/{id}">link</a>
要捕获此数据,请使用控制器
中的代码public function view_single_job($id){
echo $id;
$single_app = $this->app_model->get_single_app($id);
如果您需要删除控制器名称,请在路由中使用此
$route['application_title/(:num)'] = "app_job/view_single_job/$1";
答案 1 :(得分:0)
试试这个
<a href="<?php echo base_url('controller/function/$1/$2');?>"/>
但我不明白你为什么要点击标签加载这样的视图使用site_url('controllername/function name')
答案 2 :(得分:0)
尝试定义路线:
$route['project/(:any)/(:num)'] = 'Controller/view_single_job/$1/$2';
view_single_job 您的函数名称
和Anchor标签一样:
<a href='<?=site_url('project/application_title/id'); ?>'>Link</a>
在你的控制器中将id作为你的第二个参数,如:
public function view_single_job($app_title,$id){
echo $app_title;
echo $id;
}
这将使您能够显示您的网址 http://localhost/project/inventory_control_supervisor/1/ 这里 inventory_control_supervisor 是您的application_title, 1 是id。