如何将ID(编号)添加到Codeigniter URL

时间:2015-07-07 14:57:35

标签: php codeigniter

我喜欢通过为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应该是。

谢谢!

3 个答案:

答案 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"/>