我喜欢通过为noob道歉而为这个问题做准备。
对于codeigniter 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在我的“content”中为website.com/books/chapter/1 和
2.png在我的“content”中为website.com/books/chapter/2,2.png替换为1.png应该是。
谢谢!
答案 0 :(得分:0)
由于您使用的是此网址: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">
答案 1 :(得分:0)
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
答案 2 :(得分:0)
ID只是方法参数。您可以通过在方法中传递参数来获取它。
在控制器中:
public function chapter($id) {
$data["image_id"] = $id;
$this->load->view("your_view", $data);
}
在您看来:
<img src="<?php echo $image_id;?>.png"/>