У меня есть функциональная 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






Измените поле на массив, например:
<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);
}
В качестве общего совета не забудьте проверить и исключить все данные, которые вы собираетесь вставить в базу данных.
Только представьте, что это псевдокод для любой функции, которую вы используете для вставки sql. Уточню это по названию.
Это очень полезно, я понятия не имел, что поле может быть массивом. Да, я использую подготовленные операторы и некоторые другие подходы к обеспечению безопасности.
это правильный подход с точки зрения формы. Но что такое
mysql_insert()?