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



我通过ahref标记调用控制器函数,我想将当前记录no传递给控制器以更新记录。当前值存储在$currentID中,我以输入类型传递此值。。但是我没有从查看页面中得到值。。我试过var_dump($id(。。它显示为null要更新的控制器代码:

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>

帮我把current值传递给控制器。。提前感谢

您正在url中发送值更改此

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

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

删除输入字段。你不能用传递任何输入数据

<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');

}

在您的代码中

正如我看到的有问题的控制器代码,您在变量$currentID中没有传递任何值,这可能是未定义的,所以请首先尝试var_dump您的$currentID变量并检查其值。

做一个测试

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

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

通过这种方式,您的值将被传递到视图,确保值在视图中正确传递或生成。你们在控制器上以正确的方式传递数据,并没有问题。

相关内容

  • 没有找到相关文章

最新更新