将数据从视图传递到控制器(codeigniter)

时间:2016-02-18 08:02:18

标签: php html codeigniter

我正在尝试使用视图中的链接传递一些数据。

控制器

public function details(){
    echo $this->input->post('data_id');
    $data['details'] = $this->wapi_db->details($this->input->post('data_id'));
    $data['latest_news'] = $this->wapi_db->latest_news();
    $data['main_content'] = "category/details";
    $this->load->view('includes/template',$data);
}

查看

<a href=<?php.base_url().'wapi/details?data_id='6'; ?>

3 个答案:

答案 0 :(得分:4)

你可以简单地告诉我们Uri segmen,就像这样:

您的href的观看代码。

<a href="<?php echo base_url() ?>wapi/details/6";

获取从视图传递给控制器​​的值 你应该在你的控制器中做这样的事情

    public function details(){

        $data_id = $this->uri->segment(3); //this where you get you value from your link
        ...//rest of your code

    }

答案 1 :(得分:1)

我建议您在视图中使用此链接

<a href=<?php.base_url().'wapi/details/6'; ?>

然后在控制器上等待功能

上的参数
public function details($data_id){//<- the parameter you want

    $data['details'] = $this->wapi_db->details($data_id);
    $data['latest_news'] = $this->wapi_db->latest_news();
    $data['main_content'] = "category/details";

    $this->load->view('includes/template',$data);

}

如果您的URI包含两个以上的段,它们将作为参数传递给您的方法。

来自Codeigniter Controllers Guide

答案 2 :(得分:0)

您需要使用

$this->input->get('data_id')

因为您通过GET方法传递数据。

所以你的代码应该是:

public function details(){

    echo $this->input->get('data_id');

    $data['details'] = $this->wapi_db->details($this->input->get('data_id'));

    $data['latest_news'] = $this->wapi_db->latest_news();


    $data['main_content'] = "category/details";

    $this->load->view('includes/template',$data);


}

此处的文档为:http://www.codeigniter.com/user_guide/libraries/input.html