CodeIgniter在将参数传递给控制器​​时调整url

时间:2014-09-10 19:28:09

标签: codeigniter pagination routes

好的我有视图文件中列出的数据库中的记录,所以你可以看到我想通过更新/抓取功能控制器通过href将值传递给控制器​​

    echo $this->pagination->create_links();
    br().br();

foreach ($query->result() as $q): ?>
     <a href="update/grab/<?php echo $q->id;?>/<?php echo $q->info; ?>"><?php echo $q->info . br()?></a>
<?php endforeach; ?>

它适用于我的分页中的第一页,当我点击记录时我在其他页面上,而是当我点击时将参数列表传递给控制器​​继续添加网址,例如http://localhost/z/records/users/update/grab/3/update/grab/1/update/grab/1/update/grab/1/trtr

所以错误是当我在网址中,当我在分页的第二页时

http://localhost/z/records/users/2

只有当我在第一页时才有效

http://localhost/z/records

有没有办法解决这个问题。如果我有一些如何调整路线,它会工作吗???需要帮助,请帮助我非常重要的

2 个答案:

答案 0 :(得分:0)

尝试将链接更改为绝对网址:

 <a href="/z/update/grab/<?php echo $q->id;?>/<?php echo $q->info; ?>">

或者在网页标题中添加正确的相对网址:

<base href="/z/" />

答案 1 :(得分:0)

Codeigniter路线允许您这样做:

$route['post/(:any)/comment/(:any)'] = "posts/comments/$1/$2";

然后在控制器中,我的posts控制器中的函数将如下工作:

public function comments($one, $two) {
     echo $one."-".$two;
}         

所以,如果你点击网址“/ post / 111 / comment / 222”,输出将是

111-222