首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理窗体上的“添加更多”选项的PhP SQL

处理窗体上的“添加更多”选项的PhP SQL
EN

Stack Overflow用户
提问于 2017-01-05 21:58:19
回答 1查看 662关注 0票数 1

如果我有一个用户可以随意添加额外字段的表单,我会对如何处理这个表单感到困惑。例如

HTML

代码语言:javascript
复制
<input name="provider_name" type="text" />
<button class="add-more">Add Provider</button>

Javascript / jQ

代码语言:javascript
复制
var addtlCounter = 0;
$(".add-more").click(function(e){
  e.preventDefault();
  addtlCounter++;
  $(this).before('<input name="provider_name_' + addtlCounter + '" type="text" />');
})

显然,如果只有一个provider_name,我可以

INSERT INTO MyTable(value) VALUES ($_POST["provider_name"])

但是,根据用户单击添加提供程序的次数,我将得到一个未知数量的provider_name_*

任何关于当我处理这个表单的建议,我都可以知道他们添加了多少额外的提供者,并相应地插入。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-05 22:01:58

使用HTML数组。

代码语言:javascript
复制
<input name="provider_name[]" type="text" />
<button class="add-more">Add Provider</button>

然后,在PHP中。

代码语言:javascript
复制
foreach($_POST["provider_name"] as $provider)
{
    echo $provider;
}

编辑:

若要有两个相关字段,可以在数组中包含一个数组,但必须对名称进行索引。因此:

代码语言:javascript
复制
  <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" />

这将导致这个数组:

代码语言:javascript
复制
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) ""
    }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41495453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档