使用代码符号在 URL 中传递多个变量

2022-08-30 23:51:46

很抱歉打扰了,但我希望有人能帮助我解决我在CI中遇到的一个非常平凡的问题。我能够使用CI的示例通过URL发送变量,例如:

http://localhost/project/main/getproduct/24

在我的主控制器的getproduct()方法中,我可以得到发送24的变量,没有问题。

但是我现在想通过URL传递两个变量,但我不知道如何执行此操作,或者CodeIgniter是否允许我执行此操作。有人可以告诉我如何在CI中传递2个变量以及一种可以检索它们的方法吗?

http://localhost/project/main/getproduct/24/45

然后在我的 getproduct 方法中:

public function getproduct($productID, $factoryID){
  .....
}

但我发现我的方法可以毫无问题地获得第一个变量,但不能获得第二个变量。任何人都可以给我指出正确的方向。提前非常感谢。


答案 1

接受的答案将适用于此特定问题,但如果URL发生更改,则将不起作用。要访问控制器中的多个变量,只需添加到函数定义中即可。

http://localhost/project/main/getproduct/24/45

class Main extends CI_Controller {

    public function getproduct($productID = 0, $factoryID = 0)
    {
      // ProductID will be 25
      // Factory ID will be 45
    }
}

参考:CodeIgniter 用户指南


答案 2

您可以使用来检索网址中的值uri

下面是一个示例

public function getproduct()
{
  $productID =  $this->uri->segment(3);
  $factoryID =  $this->uri->segment(4);
  // ProductID will be 25
  // Factory ID will be 45
}

然后,您可以随意使用这些值


推荐