Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 22

Получение и запись динамических значений формы PHP

14.02.2016, 16:34. Показов 2169. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть проблемы:
Есть форма на которую средствами JS добавляются динамические input и select:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
jQuery('.plus').click(function () {
                            jQuery('.information_json_plus').before(
                                '<tr>' +
 
                                '<td> <select name="doc_type[]" class="form-control input-sm">'+
                                '<option value="">Select document</option>' +
                                "<?php foreach ($typedocs as $k => $val) echo "<option value='$val'>$val</option>";?>" + '<select> </td>' +
 
 
                                '<td> <input type="text" name="doc_num[]" placeholder="Enter number"'+ 
                                'class="form-control input-sm"/> </td>'+
 
                                '<td><span class="btn btn-danger minus pull-right">&ndash;</span></td>' +
                                '</tr>'
                            );
 
                            $(function () {
                               
 
                            // on - так как элемент динамически создан и обычный обработчик с ним не работает
                            jQuery(document).on('click', '.minus', function () {
                                jQuery(this).closest('tr').remove(); // удаление строки с полями
                            });
                        });
Каким образом можно добавить значения в БД MySQL...

PHP
1
2
3
echo "<pre>";
print_r($_POST);
echo "</pre>";
Выдает следующее:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Array
(
    [doc_type] => Array
        (
            [0] => Тип 1
            [1] => Тип 2
            [2] => Тип 3
        )
 
    [doc_num] => Array
        (
            [0] => 111111
            [1] => 222222
            [2] => 333333
        )
)
Не могу понять как, работать с таким массивом?

Добавлено через 1 час 18 минут
Пока что придумал такой вариант, вроде как и формируется то что нужно, но смущает количество вложенных циклов...

PHP
1
2
3
4
5
6
7
8
 if (isset($_POST['btnSend']))
    {
        foreach ($_POST['doc_type'] as $k =>$docList) {
        foreach ($_POST['doc_num'] as $k =>$docNum) {}
 
            echo $docList ." ". $docNum ."<br>";
 
        }

Может есть у кого то вариант с более правильным решением?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.02.2016, 16:34
Ответы с готовыми решениями:

Получение значений полей формы.
Нужно, чтобы человек вводил в поле число. Если число от 0 до 50 и от 100 и больше, высвечивать сообщение через innerHTML. Так же проверить...

Получение значений полей в php
Все привет, у меня сайт по регистрации ОСАГО и там очень большая форма , много полей. Но проблема тут вот в чём. Есть скрипт: ...

Получение значений поля подчинённой формы
Доброго утра. В главной форме &quot;Main_form&quot; (таблица с предприятиями) есть подчинённая форма &quot;slave_Equip_in_Firm&quot; (таблица с...

6
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
14.02.2016, 16:38
Цитата Сообщение от Alex_45 Посмотреть сообщение
Может есть у кого то вариант с более правильным решением?
PHP
1
2
3
4
5
6
7
if (isset($_POST['btnSend'])) {
    foreach ($_POST['doc_type'] as $k =>$docList) {
        //foreach ($_POST['doc_num'] as $k =>$docNum) {}
        end($_POST['doc_num']);
        echo $docList ." ". current($_POST['doc_num']) ."<br>";
    }
}
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 22
14.02.2016, 16:56  [ТС]
WhiteMind, И Ваш и мой методы работают не корректно - второй элемент возвращает всегда одно и то же значение((((
0
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
14.02.2016, 16:58
Цитата Сообщение от Alex_45 Посмотреть сообщение
WhiteMind, И Ваш и мой методы работают не корректно - второй элемент возвращает всегда одно и то же значение((((
Исходя из логики вашего кода
PHP
1
2
3
4
5
6
7
8
 if (isset($_POST['btnSend']))
    {
        foreach ($_POST['doc_type'] as $docList) {
        foreach ($_POST['doc_num'] as $docNum) {}
 
            echo $docList ." ". $docNum ."<br>";
 
        }
так и задумано

Добавлено через 49 секунд
PHP
1
2
3
4
5
6
7
if (isset($_POST['btnSend'])) {
    foreach ($_POST['doc_type'] as $k =>$docList) {
        foreach ($_POST['doc_num'] as $k =>$docNum) {
            echo $docList ." ". $docNum ."<br>";
        }
    }
}
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 22
14.02.2016, 17:06  [ТС]
WhiteMind, такой вариант я тоже пробовал, но увы выдает все возможные комбинации

Добавлено через 5 минут
Методом POST из динамически созданной формы я получаю массив следующего вида:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Array
(
    [doc_type] => Array
        (
            [0] => Тип 1
            [1] => Тип 2
            [2] => Тип 3
        )
 
    [doc_num] => Array
        (
            [0] => 111111
            [1] => 222222
            [2] => 333333
        )
)
Необходимо получить для записи в таблицу БД значения вида: VALUES(Тип 1, 111111) и т.п., а вот как это сделать из вышеуказанного массива пока не могу понять...
0
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
14.02.2016, 17:09
Лучший ответ Сообщение было отмечено Alex_45 как решение

Решение

PHP
1
2
3
4
5
if (isset($_POST['btnSend'])) {
    foreach ($_POST['doc_type'] as $k =>$docList) {
            echo $docList ." ". $_POST['doc_num'][$k] ."<br>";
    }
}
1
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 22
14.02.2016, 17:15  [ТС]
WhiteMind, Спасибо Вам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2016, 17:15
Помогаю со студенческими работами здесь

Получение значений формы, не являющихся реквизитом
Здравствуйте! Ситуация: на форме содержится элемент диалога, содержащий значение, не являющееся реквизитом документа или элемента...

Создание формы и получение введенных значений
Здравствуйте. Нужно решить систему уравнений, количество которых заранее неизвестно. Решение самой системы я написал, но не могу данные...

График php, получение значений из таблицы
Здравствуйте, столкнулся с проблемой - нужно нарисовать график по двум переменным. Есть запрос на php include...

Макрос, запись значений через элемент формы
Помогите написать макрос. Значение вводится в элемент формы, затем он заполнят столбцы (шаблон списка.xls). При добавлении новой записи...

Запись значений полей формы в текстовый файл
Здравствуйте, подскажите как методом php при вводе пользователя в инпут текста (email) он сохранялся в файл txt в строчном виде. Задача...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru