Viper пишет:le7o пишет:Пока такое решение на другом форуме подсказали - по крайней мере рабочее, но мне кажется, что не совсем правильное!? у вас изначально не правильно всё.
Цитата:Почему у вас doc_country и иже с ними содержат несколько значений вместо одного выбранного?
Списки хоть и присутствуют, но значения из них берутся правильные...
Попытаюсь описать более подробно:
Есть две таблицы: users, docs у одного users может быть несколько записей из таблицы docs, поэтому при регистрации выводится форма с возможностью динамически добавить поля со значениями для таблицы docs:
После добавления и заполнения необходимого количества записей docs на форме с документами, форма посылается в php скрипт
поля формы выглядят как: , поэтому и формируется такой массив:
CODE ( html):
скопировать код в буфер обмена
Array ( [doc_type] => Array ( [0] => Тип 1 [1] => Тип 2 ) [doc_num] => Array ( [0] => 111111 [1] => 22222 ) )
То есть в данном случае получается, что пользователь на форме динамически добавил два докумена и заполнил значения как:
1-й документ: Тип 1 | 111111 |
2-й документ: Тип 2 | 22222 |
Цитата:И каким образом вы собрались их записывать в БД?
После отправки формы, срабатывает следующий код, который в цикле заносит данные:
PHP:
скопировать код в буфер обмена
if (isset($_POST['btnStepDocs'])) { foreach ($_POST['doc_type'] as $k => $docList) { $steps_user->AddDocs($crewID, array($docList, $_POST['doc_num'][$k], $_POST['doc_issued'][$k], $_POST['doc_expiry'][$k], $_POST['doc_country'][$k], $_POST['add_docs'][$k])); } }
Занесение в цикле меня пугает больше всего т.к. документов может быть и 5 и 10.
Может есть более правильный способ работать с динамическими формами?
p.s.: результаты поиска вывели только на такой способ добавления динамических элементов, что бы было можно передать массив в PHP...
p.s.s: были конечно способы с помощью js, но думаю на данный момент не хватит знаний правильно это реализовать...(Отредактировано автором: 14 Февраля, 2016 - 21:04:32)
|