簡體   English   中英

如何通過PHP將未知數量的HTML表單字段插入MySQL?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM