Посетитель
Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012
Помог: 1 раз(а)
|
Интересует следующее: сколько раз будет проходить цикл (приведен ниже), если массив имеет всего одну строку? ($data[0]['id'], $data[0]['description'];)
Такое ощущение, что он пробегает как минимум 2 раза, а не один. И может это правильно и как быть в таких случаях? Уже есть мысль на этот счет, пробежаться по нему циклом for , вот таким образом:
Правильно ли это будет?
(Добавление)
Все правильно работает, я не туда смотрел просто, сейчас исправлю и отпишу в чем была проблема...
(Добавление)
Задачка стояла нетривиальная в общем-то.
Из формы приходил вот такой-вот массив:
CODE ( html):
скопировать код в буфер обмена
... <input type="checkbox" name="documents[0][id]" value="4" > <input type="text" name="documents[0][description]"> </td> </tr> <tr> <td class="right">Сертификат о сдачи государственного тестирования</td> <td> <input type="checkbox" name="documents[1][id]" value="5" > <input type="text" name="documents[1][description]"> ...
Потом, нужно было записать этот массив в БД, но записать только те данные, которые отмечены "галочкой".
Вот таким вот кодом:
PHP:
скопировать код в буфер обмена
... foreach ($documents as $row): $contingent_documents_relatioship = DB::insert( 'contingent-document_relationship', array( 'contingent_id', 'document_id', 'document_description')) ->values(array('contingent_id' => $contingent_last_insert_id, 'document_id' => $row['id'], 'document_description' => $row['description'])); $contingent_documents_relatioship->execute(); endif; endforeach; ...
И значит, если поставить только одну галочку, ПоХаПе ругался, мол нет такого $row['id']. Покурив и немного пораскинув мозгами, я вдруг вспомнил, что если галочка не поставлена, то данные из <input type="checkbox"> не передаются. Вот туплю-то, а! Сделал проверку и все пошло как по маслу.(Отредактировано автором: 07 Августа, 2013 - 06:25:41)
|