Codeigniter:将数据传递到另一个视图

时间:2013-04-02 15:21:26

标签: php database codeigniter

好的,所以这个问题可能非常简单,我只是缺少一些基本的东西,但是这里有。我目前正在建设的网站是在Codeigniter中开发的。这是一个练习的网站。

现在,我的一个函数(二头肌)调用一个模型(model_get),该模型从我的数据库中获取数据,然后将其传递给视图(content_biceps.php)

所以尽可能尝试解释这个最好的是我的控制器模型和视图。

控制器功能:

    public function biceps(){

        if($this->session->userdata("is_logged_in")){

            $this->load->model("model_get");
            $data["results"] = $this->model_get->getExercises("1");

            $this->load->view("site_header");
            $this->load->view("site_nav");
            $this->load->view("site_sidebar");
            $this->load->view("content_biceps", $data);
            $this->load->view("site_footer");
        }   else {
            redirect ("site/restricted");
        }
    }

模型函数get_data:

    function getData($page){
        $query = $this->db->get_where("pagedata", array("page" => $page));
        return $query->result();
    }

查看content_biceps:

foreach($results as $row){

    echo '<div class="item">
            <h2>'.$row->name.'</h2>
            <img src="'.$row->image.'" alt="'.$row->name.'" />';

    $e_id = $row->e_id;
    echo $e_id;

    echo form_submit('exercise_submit', 'view');
    echo '</div>';
    echo form_close();
}

现在这个视图效果很好,它可以抓取我需要的数据,例如每个练习的名称,图像和e_id,并显示所有数据。

如果您注意到名为“view”的提交按钮。如果你能想象所有这些练习都显示在一个页面上。它们都有一个独特的e_id。我想要它,以便当我单击某个练习上的视图按钮时,我被带到一个页面视图,例如'exercise_view',我可以使用e_id来获取该特定练习的数据。目前,当我点击查看并在另一个页面中使用它时,我不知道如何获取e_id。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用所需的e_id添加输入,例如

<div>
    <input type="hidden" name="e_id" value="{$e_id}" />
    <input type="submit" name="view" />
</div>

然后在控制器中,您可以获得e_id

$e_id = $this->input->post('e_id');