如何使用codeigniter在URL中传递值,并在公共函数中使用$ _GET?

时间:2016-01-20 23:22:33

标签: php codeigniter

如何使用codeigniter在URL中添加值,并在公共函数中添加$ _GET? 所以这是指向控制器公共功能的按钮

 <a href="<?php echo base_url() ?>asset_management/editpc?$comp_id=<?php echo $comp_id?>" class="btn btn-warning btn-xs" ><i class="fa fa-edit"></i></a>

这就是控制器中的公共功能:

public function edit_pc(){
           if(isset($_GET['comp_id'])){
           $comp_id=$_GET['comp_id'];
           }
           $this->load->view('getcomp',$comp_id);

       }

这是正确的做法吗?

3 个答案:

答案 0 :(得分:2)

你可以用codeigniter方式做到这一点

<a href="<?php echo base_url(); ?>asset_management/editpc/<?php echo $name; ?>/<?php echo $value; ?>" class="btn btn-warning btn-xs" ><i class="fa fa-edit"></i></a&GT;

$ name是您要传递的标签(company_id),$ value是label(company_id值)的值,一旦输出如上所示

<a href="http://yoursite.com/asset_management/editpc/company_id/5" class="btn btn-warning btn-xs" ><i class="fa fa-edit"></i></a&GT;

现在改变你的功能

public function edit_pc($name='',$value='')
{
   $data[$name]= $value;
   $this->load->view('getcomp',$data);
}

答案 1 :(得分:1)

使用您的URI段作为base_url()调用的参数和 - 强调文本,如本页另一个答案所示 - 对URL使用Codeigniter方式: 控制器/方法/参数。如果$comp_id = 4;则此行

<a href='<?php echo base_url("asset_management/editpc/$comp_id"); ?>'
    class="btn btn-warning btn-xs" ><i class="fa fa-edit"></i></a>

会生成指向http://example.com/asset_management/editpc/4

的链接

然后控制器的功能变为

//function takes an argument which comes from the last segment of the URL
public function edit_pc($comp_id)
{
  //create an array to pass variables to the the view 
  $data['comp_id'] = $comp_id;

   $this->load->view('getcomp',$data);
   }

该视图将使用var $comp_id。如果我们使用了$data['some_other_name'],那么该视图应该查找并使用$some_other_name

答案 2 :(得分:1)

您的代码存在一些问题,具体问题是什么?你收到任何错误吗?

你应该结束你的路线;在php:

<?php echo base_url(); ?>

&安培;

<?php echo $comp_id; ?>

此外,您的网址结构似乎不正确,除非“editpc”是文件目录,并且index.php设置为调用edit_pc()函数。