doupu7651
doupu7651
2012-04-21 21:53
浏览 57
已采纳

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

Using CodeIgniter I am trying to create a link that the user can click within a view to show them the details of a record in my database.

In ASP.NET MVC3 with C# I would do it with @Html.ActionLink("Controller", "Action", new { id = item.Id})

This is my session controllers index() function

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

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

This is the index view it loads where I want to be able to click the link to go to enter() function

<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 ?>

The enter session points me to the url "http://192.168.1.36/index.php/1" (if the id of my item is 1) whereas I expect "http://192.168.1.36/index.php/session/enter/1"

Any ideas on how I can make it call the enter() function also in the session controller (shown below)

 public function enter($id) {

        $this->load->view('_header');
        $this->load->view('session/enter');
        $this->load->view('_footer');
    }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douzhan1963
    douzhan1963 2012-04-21 22:15
    已采纳

    There seems to be a typo in the string concatenation in your PHP code. Perhaps it will work to use:

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

    ... rather than a + sign between the two strings.

    Regarding the second question - it looks correct as-is. Is it failing to call the session controller's enter() function passing the $id as an argument (assuming the URL is correct)?.

    点赞 评论

相关推荐