使用View中的参数链接到Controller函数(CodeIgniter)

时间:2012-04-21 21:53:41

标签: php asp.net-mvc codeigniter

使用CodeIgniter我正在尝试创建一个链接,用户可以在视图中单击该链接以向他们显示数据库中记录的详细信息。

在使用C#的ASP.NET MVC3中,我会使用@Html.ActionLink("Controller", "Action", new { id = item.Id})

这是我的会话控制器index()函数

public function index()
{
        $data['sessions'] = $this->session_model->get_sessions();

        $this->load->view('_header');
        $this->load->view('session/index', $data);
        $this->load->view('_footer');
}

这是它加载的索引视图,我希望能够点击链接进入()函数

<table>

<th>Session Name</th>
<th>Description</th>
<th>Host</th>
<th></th>

<?php foreach ($sessions as $session_item): ?>
    <tr>
        <td> <?php echo $session_item['sessionName'] ?> </td>
        <td> <?php echo $session_item['sessionDesc'] ?> </td>
        <td> <?php echo $session_item['adminName'] ?> </td>
        <td> <a id="enterSession" href=<?php echo site_url("session/enter" + $session_item['id']) ?> >Enter</a></td>

    </tr>
<?php endforeach ?>

输入会话将我指向网址“http://192.168.1.36/index.php/1”(如果我的项目的ID是1),而我期望“http://192.168.1.36/index。 PHP /会话/进入/ 1"

关于如何在会话控制器中调用enter()函数的任何想法(如下所示)

 public function enter($id) {

        $this->load->view('_header');
        $this->load->view('session/enter');
        $this->load->view('_footer');
    }

1 个答案:

答案 0 :(得分:0)

PHP代码中的字符串连接似乎有拼写错误。也许它可以使用:

site_url("session/enter" . $session_item['id'])

...而不是两个字符串之间的+符号。

关于第二个问题 - 它看起来是正确的。它是否未能调用session控制器的enter()函数作为参数传递$id(假设URL正确)?。