2013-07-19 49 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 ?>">