Codeigniter从视图中将多个参数传递给控制器​​?

时间:2012-09-19 23:11:25

标签: php codeigniter

我有一个输出大量图像的系统,旁边有一个A链接,将它们设置为专辑封面。

我有多张专辑,在我的数据库中有一个名为“is_feature”的字段,如果图像是封面,则设置为1,如果不是,则设置为0.

我不知道选择图像的最佳方式,我最初输出的内容如下;

<a href="/admin/set_photo/'.$image_id.'" title="Set this photo as the feature photo">Set</a>

(image_id显然是图像id),此函数会调用模型并将所有其他照片的“is_feature”字段设置为0,并将此照片的“is_feature”设置为1.

问题是它正在擦除所有其他专辑功能。我几乎需要传递给A链接中的变量,第一个是图像的id,第二个是相册的id,然后我的模型函数只能将“is_feature”设置为0,其中album_id =相册的id过去了。

无论如何都要传递这样的两个变量?或者我是以完全错误的方式解决这个问题?

3 个答案:

答案 0 :(得分:9)

您可以将URL中的值设置为查询参数

<a href="/admin/set_photo?var1=<?= $image_id;?>&var2=<?= $size;?>"
   title="Set this photo as the feature photo"> Set </a>

您可以在控制器中检索

$image_id = $this->input->get('var1');
$image_size = $this->input->get('var2');

答案 1 :(得分:4)

呃什么?你可以传递任何你需要的东西。

$data = array(
               'title' => 'My Title',
               'heading' => 'My Heading',
               'message' => 'My Message'
          );

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

答案 2 :(得分:0)

根据数据类型作为字符串或数组,有3种传递数据的方式(您可以根据您的要求使用下面解释的任何方法):

通过视图

  //For data you collected through POST method from FORM, collect them as array
        $data=array(
            'employee_name' => $this->input->post('emp_name'),
            'employee_email' => $this->input->post('emp_email'),
            'employee_password' => $this->input->post('emp_password')
             );

$this->load-> view(''mynextpage", $data)

通过控制器

redirect('controller_name/index'.$valueofcustomer);
OR
redirect(base_url()."controller_name/index/".$valueofcustomer);



//then in your 'view', you can access value of customer like this:
$v_o_c = $this->uri->segment(3); 
echo "your value is " .$v_o_c;

通过会话

$data = array(
                'user_name' => $user_name,
                'is_logged_in' => true
            );

$this->session->set_userdata($data); //set the session
redirect('another_controller/index'); 

//then access those in another_controller like this:
$in = $this->session->set_userdata('$data');

Note: Session data will available only for redirect and lost on next page request