首页 文章

如何将值从视图页传递到控制器

提问于
浏览 1418
0

我通过ahref标签调用控制器功能,我想将当前记录no传递给控制器以更新记录当前值存储在$ currentID中并且我在输入类型中传递此值 . 但是我没有得到值从视图页面..我尝试了var_dump($ id)..它显示了要更新的空控制器代码:

public function update($id='')
{

      $session_data = $this->session->userdata('logged_in');
        $data['username'] = $session_data['username'];

        $id=$this->input->post('update');
        echo "<pre>";var_dump($id);
            $dc=$this->input->post('dc');
            if($dc=='c'){
            $amount=$this->input->post('credit1');
                        } 
            else if ($dc=='d') {
            $amount=$this->input->post('debit');
                                }

$data=array(
      'date' =>$this->input->post('TDate'),
      'code' =>$this->input->post('TName'),
      'project' =>$this->input->post('TName1'),
      'part' =>$this->input->post('part1'),
      'part1' =>$this->input->post('part2'),
      'dc'=>$this->input->post('dc'),
      'amount'=>$amount,
   );
$this->db->where('recno', $id);
$this->db->update('daybook', $data);
$this->session->set_flashdata('Add1', 'Updated Successfully'); 
redirect('BookKeeping/daybook','refresh');
}

调用更新

<a href="<?=site_url('BookKeeping/update/'.$currentID)?>" class="btn btn-info btn-"><i class="icon-new position-left">
                        <input type="hidden" name="update" id="id" value="<?php echo $currentID?>">
                    </i>Update</a>

帮我把当前值传递给控制器..提前谢谢

3 回答

  • 2

    你在url中发送值改变这个

    $id=$this->input->post('update');
    

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

    在您的代码中

    当我看到您的控制器代码发布时,您没有传递变量 $currentID 中的任何值,这可能是未定义的,所以请首先尝试 var_dump 您的 $currentID 变量并检查其值 .

    做一个测试

    请尝试为功能分配静态ID . 您的静态值将作为参数传递给方法 . 一旦确定静态值有效,就可以继续查找 $currentID 变量中的问题所在 .

    $data['currentID'] = $someValueFromDB;
    $this->load->view('some_view.php',$data);
    

    这样,您的值将传递给视图,确保值正确传递或在视图上生成 . 您正在控制器上以正确的方式传递数据,没问题 .

  • 0

    删除输入字段 . 您无法传递任何输入数据

    <a href="<?=site_url('BookKeeping/update/'.$currentID)?>" class="btn btn-info btn-"><i class="icon-new position-left"></i>Update</a>
    

    试试这个

    public function update($id=''){
    
    $session_data = $this->session->userdata('logged_in');
    $data['username'] = $session_data['username'];
    
    $id=$id;
    
    echo "<pre>";var_dump($id);
    $dc=$this->input->post('dc');
    if($dc=='c'){
      $amount=$this->input->post('credit1');
    } 
    else if ($dc=='d') {
      $amount=$this->input->post('debit');
    }
    
    $data=array(
      'date' =>$this->input->post('TDate'),
      'code' =>$this->input->post('TName'),
      'project' =>$this->input->post('TName1'),
      'part' =>$this->input->post('part1'),
      'part1' =>$this->input->post('part2'),
      'dc'=>$this->input->post('dc'),
      'amount'=>$amount,
    );
    
    $this->db->where('recno', $id);
    $this->db->update('daybook', $data);
    $this->session->set_flashdata('Add1', 'Updated Successfully'); 
    redirect('BookKeeping/daybook','refresh');
    

    }

相关问题