我通过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);
通过这种方式,您的值将被传递到视图,确保值在视图中正确传递或生成。你们在控制器上以正确的方式传递数据,并没有问题。