Как вставить неизвестное количество полей формы HTML в MySQL через PHP? - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть функциональная HTML-форма, и я вставляю ее содержимое в базу данных SQL через PHP.Мне нужно найти способ, позволяющий вставлять несколько строк одним щелчком мыши (клиенты будут динамически добавлять больше полей формы по своему желанию).

Это поле HTML (часть формы):

<label for="code">Súťažný kód</label>
<input type="text" name="code" id="code">

Затем я передаю значение поля во внешний файл .php, используя jQuery:

jQuery.ajax({
  url:"insert.php",
  method:"POST",
  data:form_data,
  success:function(data) {
    console.log(data);
  }
});

В файле insert.php я подключаюсь к базе данных MySQL и получаю формузначение, подобное этому:

$code = $_REQUEST['code'];

Затем я могу выполнить необходимые SQL-запросы для вставки строки со всеми необходимыми значениями (включая «код»).

Эта форма будетбыть использованы в качестве формы для участия в конкурсе.Рядом с полем формы «код» появится значок ПЛЮС (или что-то в этом роде), и при щелчке на этом значке появится другое поле для кода.Пользователь сможет добавить до 20 кодов в 20 различных полей.

Мой вопрос: как я могу передать все формы (или все коды) в файл .php и вставить их вмоя база данных MySQL в виде отдельных строк?

Пример:

Пользователь отправляет форму с 3 вставленными кодами.Полученная форма будет выглядеть следующим образом:

[firstName]
[lastName]
[code]
[code]
[code]

После отправки формы эти три строки должны быть добавлены в базу данных:

#  | firstName | lastName | code
----------------------------------
1  | John      | Doe      | 12345
2  | John      | Doe      | ABCDE
3  | John      | Doe      | 55555

1 Ответ

0 голосов
/ 20 декабря 2018

Измените поле на массив, например:

<input type="text" name="code[]" id="code1">
<input type="text" name="code[]" id="code2">

, затем вы можете получить к нему доступ в PHP, например:

foreach ($_REQUEST['code'] as $key => $val) {
   sql_insert_function($_REQUEST['firstName'], $_REQUEST['lastName'], $val);
}

В качестве общего совета не забудьте проверить и экранировать вседанные, которые вы собираетесь вставить в базу данных.

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