使用codeigniter进行表单编辑

时间:2013-07-19 17:54:07

标签: php forms codeigniter

我正在尝试使用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将返回到同一个视图页面并给出错误。谁能告诉我为什么会这样?再次感谢。

1 个答案:

答案 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  ?>">