Php 处理';添加更多';表格上的选项

Php 处理';添加更多';表格上的选项,php,sql,form-processing,Php,Sql,Form Processing,如果我有一个表单,用户可以选择添加额外的字段,我不知道应该如何处理它。比如说 HTML 添加提供程序 Javascript/jQ var addtlCounter = 0; $(".add-more").click(function(e){ e.preventDefault(); addtlCounter++; $(this).before('<input name="provider_name_' + addtlCounter + '" type="text" />

如果我有一个表单,用户可以选择添加额外的字段,我不知道应该如何处理它。比如说

HTML


添加提供程序
Javascript/jQ

var addtlCounter = 0;
$(".add-more").click(function(e){
  e.preventDefault();
  addtlCounter++;
  $(this).before('<input name="provider_name_' + addtlCounter + '" type="text" />');
})
var addtlCounter=0;
$(“.add more”)。单击(函数(e){
e、 预防默认值();
addtlCounter++;
$(本)。在('')之前;
})
显然,如果只有一个提供者的名字,我可以

INSERT-INTO-MyTable(value)值($\u POST[“provider\u name”])

但是,根据用户单击添加提供者的次数,我将获得一个未知的
provider\u name.*

关于何时处理此表单的任何建议,我都可以告诉您他们添加了多少其他提供者,并相应地插入。

使用HTML数组

<input name="provider_name[]" type="text" />
<button class="add-more">Add Provider</button>

编辑:

要有两个相关字段,可以在数组中有一个数组,但名称必须被索引。因此:

  <input name="providers[1][name]" type="text" />
  <input name="providers[1][number]" type="text" />
  <input name="providers[2][name]" type="text" />
  <input name="providers[2][number]" type="text" />
  <input name="providers[3][name]" type="text" />
  <input name="providers[3][number]" type="text" />
  <input name="providers[4][name]" type="text" />
  <input name="providers[4][number]" type="text" />
  <input name="providers[5][name]" type="text" />
  <input name="providers[5][number]" type="text" />

如果我有多个字段,例如,两个字段都相互关联,并且它们可以添加这两个字段的另一行,那么应该小心插入$\u POST数据,您可能要对其进行清理。
foreach($_POST["provider_name"] as $provider)
{
    echo $provider;
}
  <input name="providers[1][name]" type="text" />
  <input name="providers[1][number]" type="text" />
  <input name="providers[2][name]" type="text" />
  <input name="providers[2][number]" type="text" />
  <input name="providers[3][name]" type="text" />
  <input name="providers[3][number]" type="text" />
  <input name="providers[4][name]" type="text" />
  <input name="providers[4][number]" type="text" />
  <input name="providers[5][name]" type="text" />
  <input name="providers[5][number]" type="text" />
array(1) {
  ["providers"]=>
  array(5) {
    [1]=>
    array(2) {
      ["name"]=>
      string(0) ""
      ["number"]=>
      string(0) ""
    }
    [2]=>
    array(2) {
      ["name"]=>
      string(0) ""
      ["number"]=>
      string(0) ""
    }
    [3]=>
    array(2) {
      ["name"]=>
      string(0) ""
      ["number"]=>
      string(0) ""
    }
    [4]=>
    array(2) {
      ["name"]=>
      string(0) ""
      ["number"]=>
      string(0) ""
    }
    [5]=>
    array(2) {
      ["name"]=>
      string(0) ""
      ["number"]=>
      string(0) ""
    }
  }
}