2010-04-04 81 views
0

我有這個功能可以編輯來自形式 及其優良工程各個領域..如果內部數組聲明:笨

function editRow($tableName,$id) 
    { 

    $fieldsData = $this->db->field_data($tableName); 
    $data = array(); 
    foreach ($fieldsData as $key => $field) 
    { 
     $data[ $field->name ] = $this->input->post($field->name); 
    } 
    $this->db->where('id', $id); 
    $this->db->update($tableName, $data); 

    } 

現在我想添加的密碼字段的條件,如果該字段是空的保留舊密碼 ,我做了一些事情那樣:

function editRow($tableName,$id) 
{ 
    $fieldsData = $this->db->field_data($tableName); 
    $data = array(); 
    foreach ($fieldsData as $key => $field) 
    { 
     if ($data[ $field->name ] == 'password' && $this->input->post('password') == '') 
      { 
       $data[ 'password' ] => $this->input->post('hide_password'), 
       //'password'  => $this->input->post('hide_password'), 
      } 
      else { 
       $data[ $field->name ] => $this->input->post($field->name) 
      } 
     } 
     $this->db->where('id', $id); 
     $this->db->update($tableName, $data); 
    } 

,但我得到的錯誤(解析錯誤:語法錯誤,意想不到的T_DOUBLE_ARROW中...)

的Html,有些事情是這樣的:

<input type="text" name="password" value=""> 
<input type="hidden" name="hide_password" value="$row->$password" /> 

嗯,任何幫助嗎?

謝謝..

回答

2

我不認爲「=>」是一個有效的PHP運算符。也許你打算在該行上使用「=」,賦值運算符?

+0

Waw ..你說得對,謝謝你現在的工作:)我怎麼錯過了! – ahmad 2010-04-05 15:00:38

1
if ($data[ $field->name ] == 'password' && $this->input->post('password') == '') 
      { 
       $data['password'] = $this->input->post('hide_password'); 
       //'password'  = $this->input->post('hide_password'), 
      } 
      else { 
       $data[$field->name] = $this->input->post($field->name); 
      }