我正在尝试使用codeigniter编辑我的数据库记录,但我无法做到这一点,我不明白的问题是什么。请帮忙。
以下是我的控制器代码:
public function edit()
{
$this->form_validation->set_rules('name','Name','trim|required');
$this->form_validation->set_rules('email','E-mail','trim|required');
$this->form_validation->set_rules('phone','Phone','trim|required');
if ($this->form_validation->run() == FALSE) {
echo "error";
}
else{
$id = $this->input->post('id');
$this->crud_mdl->editCrud($id);
echo "success";
}
}
以下是我的模型代码:
public function editCrud($id)
{
$update = array(
'name' => $this->input->post('name'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('phone')
);
$this->db->where('id',$id);
return $this->db->update('test', $update);
}
这是我的视图:
<div>
<?php echo form_open('crud/edit');?>
<?php foreach ($records as $record) {?>
<label> ID </label>
<input type="text" name="id" id="id" disabled="disable" value = "<?php echo $record->id ;?>" /><br/>
<label>Name</label>
<input type="text" name="name" id ="name" value = "<?php echo $record->name ;?>" /><br/>
<label>E-Mail</label>
<input type="text" name="email" id ="email" value="<?php echo $record->email ;?>" /><br/>
<label>Phone</label>
<input type="text" name="phone" id ="phone" value = "<?php echo $record->phone ;?>" /><br/>
<input type="submit" name="edit" value="Edit" />
<?php }?>
<?php echo form_close();?>
</div>
答案 0 :(得分:4)
disabled="disable"
input
中id
POST
。这意味着它不会包含在disabled="disable"
格式中。您需要删除<label> ID </label>
<input type="text" name="id" id="id" value="<?php echo $record->id ;?>" />
。
试试:
hidden
对于正确的做法,您应该将输入类型设置为<input type="hidden" name="id" id="id" value="<?php echo $record->id ;?>" />
,或者将ID放在网址中(取决于您的应用程序)。
{{1}}