Как вставить неизвестное количество полей HTML-формы в MySQL через PHP?

У меня есть функциональная 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.info(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
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
94
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

<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);
}

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

это правильный подход с точки зрения формы. Но что такое mysql_insert()?

ADyson 20.12.2018 16:52

Только представьте, что это псевдокод для любой функции, которую вы используете для вставки sql. Уточню это по названию.

Nelson 20.12.2018 21:23

Это очень полезно, я понятия не имел, что поле может быть массивом. Да, я использую подготовленные операторы и некоторые другие подходы к обеспечению безопасности.

Kristián Filo 21.12.2018 07:50

Другие вопросы по теме