2013-07-19 52 views
0

我试图用codeigniter编辑我的表单字段。提交的值首先显示视图,然后编辑信息。但是当我提交表单出现以下错误使用codeigniter编辑表格

甲PHP错误遇到

严重性:注意

消息:未定义偏移量:0

文件名:视图/ tupdate.php

行号:46

in line 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

假设查看你显示我们是'tupdate.php'并且你正在将它加载到'update()'方法中,你需要转储出你的曲线结果是。在你的控制器中,你可以在加载视图之前转储'data',你应该看到你的查询结果。我的猜测是你不会。你可以从那里回来。 – Jerry

+3

我的猜测是$ info不是数组。在您的tupdate页面上转储$ info以查看它的保留情况。 – aynber

+0

转储结果是数组(0){} –

回答

1

,如果你只得到了一排更新记录,则只能使用行()方法来获取唯一的记录

型号

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