我正在尝试使用codeigniter编辑我的表单字段。提交的值首先显示视图,然后编辑信息。但是当我提交表格时,会发生以下错误
遇到PHP错误
严重性:注意
消息:未定义的偏移量:0
文件名:views / tupdate.php
行号:46
第46行我有
<input type="hidden" name="id" value="<?php echo $info[0]->id ?>">
我的控制器:
function update($id = 0)
{
$data['info'] = $this->trainingUpdate_model->getdata_by_id($id);
$this->load->view('tupdate', $data);
}
function super()
{
$id=$this->input->post('id');
$data['title']=$this->input->post('title');
$data['training_description']=$this->input->post('training_description');
if ($this->trainingUpdate_model->update($id, $data)==TRUE)
{
$this->load->view('traing_update_success');
}
else
{
$this->load->view('S_unsuccess');
}
}
我的模特:
function getdata_by_id($id = 0)
{
$this->db->where('id',$id);
$sql = $this->db->get('training');
return $sql->result();
}
function update($id,$data)
{
$this->db->where('id', $id);
$this->db->update('training', $data);
if ($this->db->affected_rows() == '1')
{
return TRUE;
}
return FALSE;
}
观看:
<form action="trainingUpdate/super" method="post">
<input type="hidden" name="id" value="<?php echo $info[0]->id ?>">
Title Name:<input type="text" name="id" value="<?php echo htmlspecialchars($info[0]->title) ?>">
Title Name: <textarea type="text" name="overview" value=""><?php echo $info[0]->training_description; ?></textarea>
<input type="Submit" value="Update">
</form>
我知道为什么信息没有更新以及为什么会出现错误。
请帮忙。感谢
由于某种原因,提交的值没有进入trainingUpdate / super()方法,从那里将提交的数据传递给模型。 from将返回到同一个视图页面并给出错误。谁能告诉我为什么会这样?再次感谢。
答案 0 :(得分:1)
如果只获得一行来更新记录,那么只使用row()方法来获取记录
<强>模型强>
function getdata_by_id($id = 0)
{
$this->db->where('id',$id);
$sql = $this->db->get('training');
//return $sql->result();
return $sql->row();
}
查看
<input type="hidden" name="id" value="<?php echo $info->id ?>">