Только первый оператор IF из 3 выполняется в цикле PHP - PullRequest
0 голосов
/ 16 июля 2011

Следующий код загружает несколько изображений без проблем. Тем не менее, я пытаюсь заставить его обновить поле в таблице, основываясь на том, в какой итерации находится цикл. ПРОБЛЕМА: Инструкция IF, кажется, не работает при циклическом выполнении. То есть он только добавляет первое имя_файла в базу данных.

Кто-нибудь видит, что я здесь делаю не так? Очень признателен, если так !!!

for ($i = 1; $i < 4; $i++)
{
  /* Handle the file upload */
  $upload = $this->upload->do_upload('image' . $i);

  /* File failed to upload - continue */
  if ($upload === FALSE)
    continue;

  /* Get the data about the file */
  $data = $this->upload->data();

  $uploadedFiles[$i] = $data;

  if ($i == 1)
  {
    $filenames1 = array(
      'product_image_front' => $data['file_name'],
    );

    $this->db->where('id', $this->db->insert_id());
    $this->db->update('products', $filenames1);
  }

  if ($i == 2)
  {

    $filenames2 = array(
      'product_image_back' => $data['file_name'],
    );

    $this->db->where('id', $this->db->insert_id());
    $this->db->update('products', $filenames2);
  }

  if ($i == 3)
  {

    $filenames3 = array(
      'product_image_back' => $data['file_name'],
    );

    $this->db->where('id', $this->db->insert_id());
    $this->db->update('products', $filenames3);
  }

}

1 Ответ

2 голосов
/ 16 июля 2011

insert_id - получить сгенерированный идентификатор в последнем запросе .

Сохранить его в переменной перед циклом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...