我想在这个问题的开头为自己的愚蠢道歉。
对于代码点火器URL,格式为:example.com/class/function/ID
如果我的网址低于
website.com/books/chapter/1
website.com/books/chapter/2
我知道如何创建名为"books"的类,在该类下我将创建公共函数"chapter",所以…
public funtion chapter() {
$this->load->view("content");
}
我该如何添加ID的1和2,假设这两个网站之间的唯一区别是:
1.png在我的网站"内容"中.com/books/chapter/1和
2.png在我的website.com/books/chapter/2的"内容"中,2.png取代了1.png的位置。
谢谢!
由于您使用的是这个URL:website.com/books/chapter/2
,所以您已经在最后一个斜杠之后传递了id。因此,您的控制器方法应该接收该ID作为参数,如下所示:
控制器:
public function chapter($id) {
$data["image_id"] = $id;
$this->load->view("content", $data);
}
视图:
<img src="<?= $image_id ?>.png">
Controller:
public function chapter() {
$data["image_id"] = $this->uri->segment(3); //since your ID(number) is in third segment so 3
$this->load->view("content", $data);
}
View:
<a href="siteurl/controller/method/<?php echo $image_id;?>"><img src="<?= $image_id ?>.png"></a>
有关URI类的详细信息https://ellislab.com/codeigniter/user-guide/libraries/uri.html
id只是方法参数。您可以通过在方法中传递参数来获得它。
在控制器中:
public function chapter($id) {
$data["image_id"] = $id;
$this->load->view("your_view", $data);
}
在您看来:
<img src="<?php echo $image_id;?>.png"/>