Codeigniter发送GET参数与site_url吗?

时间:2018-07-30 14:05:12

标签: php codeigniter codeigniter-3

我的视图文件中包含这部分代码:

<?php foreach ($posts as $post) { ?>
    <tr>
        <td><?php echo $post['id']; ?></td>
        <td><?php echo $post['title']; ?></td>
        <td><?php echo $post['content']; ?></td>
        <td>
            <div class="btn-group">
                <a href="<?php echo site_url('admin/blog/show'); ?>" class="btn btn-success">Edit</a>
                <a href="#" class="btn btn-danger">Delete</a>
            </div>
        </td>
    </tr>
<?php } ?>

..如何使用site_url函数发送GET参数,这是我的锚点:

a href="<?php echo site_url('admin/blog/show'); ?>" class="btn btn-success">Edit</a>

$post['id']发送到哪里?

我在SO中看到了一个问题,但是答案是关于硬编码的。

2 个答案:

答案 0 :(得分:1)

这里有一个例子

echo anchor('news/local/'. $post['id'], 'any text', array('title' => 'The best news!'));

在您的控制器中,您将得到类似的东西。

echo $this->uri->segment('3');

还加载网址帮助程序/库。

答案 1 :(得分:1)

应该是这样的:

<a href="<?=site_url('admin/blog/show/'.$post['id']); ?>" class="btn btn-success">Edit</a>

给定的代码应该像这样:

<?php foreach ($posts as $post) { ?>
  <tr>
    <td><?=$post['id']; ?></td>
    <td><?=$post['title']; ?></td>
    <td><?=$post['content']; ?></td>
    <td>
      <div class="btn-group">
        <a href="<?=site_url('admin/blog/show/'.$post['id']); ?>" class="btn btn-success">Edit</a>
        <a href="#" class="btn btn-danger">Delete</a>
      </div>
    </td>
  </tr>
<?php } ?>

在您的show方法中,像这样访问post id

public function show($post_id)
{
  echo $post_id;
}

更多信息:https://www.codeigniter.com/user_guide/helpers/url_helper.html