如何将参数从视图传递到模型

时间:2013-07-23 11:43:49

标签: codeigniter

我的观点中有一个id

我视图中的代码

$jcid=$row->id;

我已经转到了我的模型

        function getall12()
        {

           $id = $this->input->get('$jcid');
           $this->db->select();  
           $this->db->from('jobs');  
           $this->db->where('job_cat =','$id');  
           $query4=$this->db->get();
           return $query4->result();   
           return $query4->num_rows();

        } 

这是正确的方法吗

然后我应该如何将其加载到我的控制器并返回到我的视图

提前致谢。

amit

4 个答案:

答案 0 :(得分:1)

您的方法是错误的,MVC运行控制器< - >模型 - >视图,因此您可以将数据从控制器传递到模型然后传递到视图。
如果您需要传递一个值,首先需要在控制器中获取它,然后将其传递给模型。

例如,在您查看(在表单中?)时,您必须执行以下操作:

echo form_open('your_controller');
<input type="text" name="jcid" value="<?php echo $row->id; ?>">
echo form_close();

并使用以下命令检索控制器中的值:

$jcid = $this->input->get('jcid');

现在将其传递给模型:

$result = $this->your_model->getall12($jcid);

并在您的模型中:

function getall12($id)
        {


           $this->db->select();  
           $this->db->from('jobs');  
           $this->db->where('job_cat =','$id');  
           $query4=$this->db->get();
           return $query4->result();   
           return $query4->num_rows();

        } 

答案 1 :(得分:0)

为什么你不做控制器

$data['jcid']=$row->id;

但当然要做一个foreach循环

然后你有控制器,只是传递给视图

答案 2 :(得分:0)

Christian Giupponi写的是关于一切的事情。我只想添加另一种方法,通过使用这样的URI在视图和控制器之间传递值。

在您看来

echo form_open('/controller/method/id');

或者它也适用于锚:

echo anchor('/controller/method/id', 'Save ID');

然后在你的控制器中:

$id = $this->uri->segment(3);

答案 3 :(得分:0)

目前我正在使用此方法来完成它:

  1. 查看代码

    function detail(id)
    {
    jConfirm("Check Detail?","Confirm",function(r){
       if(r)
           {
               $.post("<?php echo site_url('info/detail'); ?>",
                {
                    id      : id
    
                },function(data){
                  alert(data);                
                });
           }
    });
    }
    
  2. 控制器代码

    public function detail()
    {
    $this->load->model('your_model_name');
    $jcid = $this->input->post('id);
    $result = $this->your_model_name->getall12($jcid);
    echo $result;
    }
    
  3. 查看代码

    function getall12($id)
    {
    
    
       $this->db->select();  
       $this->db->from('jobs');  
       $this->db->where('job_cat =','$id');  
       $query4=$this->db->get();
       return $query4->result();   
       return $query4->num_rows();
    
    }