如何将ID(数字)添加到Codeigniter URL


How to add ID (number) to Codeigniter URL

我想在这个问题的开头为自己的愚蠢道歉。

对于代码点火器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"/>