![](/img/trans.png)
[英]Insert HTML form data to mySQL via PHP (form array vary from amount of table rows)
[英]How to Insert unknown amount of HTML form fields into MySQL via PHP?
我有一個功能齊全的HTML表單,並且正在通過PHP將其內容插入SQL數據庫。 我需要找到一種方法,只需單擊一下即可插入多行(客戶將根據需要動態添加更多表單字段)。
這是HTML字段(表單的一部分):
<label for="code">Súťažný kód</label>
<input type="text" name="code" id="code">
然后,我使用jQuery將字段值傳遞給外部.php文件:
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
將字段更改為數組,例如:
<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);
}
作為一般建議,請記住驗證並轉義要插入數據庫中的所有數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.