оператор if внутри массива: codeigniter - PullRequest
0 голосов
/ 04 апреля 2010

У меня есть эта функция для редактирования всех полей, которые приходят из формы и работает нормально ..

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 ]

2 голосов
/ 04 апреля 2010

Я не думаю, что "=>" является допустимым оператором PHP. Возможно, вы хотели использовать "=", оператор присваивания, в этой строке?

1 голос
/ 08 июля 2011
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);
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...